16Python标准系列之random模块

本文介绍了Python标准库中的random模块,详细解释了如何使用random.random()生成0-1之间的随机小数,random.randint(a,b)在指定范围内生成整数,以及random.randrange(start,stop[,step])在指定范围内按步长生成随机数。此外,还提供了一个生成随机验证码的实例。

Python标准库系列之random模块


This module implements pseudo-random number generators for various distributions.


random.random()

生成0-1的小数

1
2
3
4
5
6
7
8
>>> random.random()
0.06511225392331632
>>> random.random()
0.9063480964287944
>>> random.random()
0.1255900898753961
>>> random.random()
0.6676866041289258

random.randint(a, b)

输出a和b范围内的数,包括a和b

1
2
3
4
5
6
7
8
9
10
11
12
>>> random.randint(1,2)
1
>>> random.randint(1,2)
1
>>> random.randint(1,2)
1
>>> random.randint(1,2)
2
>>> random.randint(1,2)
1
>>> random.randint(1,2)
1

random.randrange(start, stop[, step])

输出start到stop-1之间的数,可设置步长

1
2
3
4
5
6
>>> random.randrange(1,3)
2
>>> random.randrange(1,3)
1
>>> random.randrange(1,3)
2

随机验证码实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python
import random
checkcode = ''
# for循环四次
for in range(4):
    # current=0-3的数字
    current = random.randrange(0,4)
    # 如果current的值不等于i
    if current != i:
        # 通过chr把数字转换为一个字母赋值给temp
        temp = chr(random.randint(65,90))
    else:
        # 否则temp=0-9之间的数字
        temp = random.randint(0,9)
    # checkcode = checkcode + str(temp)
    checkcode += str(temp)
# 输出字符
print(checkcode)

执行

1
2
3
4
5
6
7
8
ansheng@ansheng-me:~$ python s.py
TCQ1
ansheng@ansheng-me:~$ python s.py
8L01
ansheng@ansheng-me:~$ python s.py
N2EB
ansheng@ansheng-me:~$ python s.py









本文转自 Edenwy  51CTO博客,原文链接:http://blog.51cto.com/edeny/1925796,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值