Python 标准库系列之 random 模块
This module implements pseudo-random number generators for various distributions.
random.random()
生成 0-1 的小数
>>> random.random()
0.06511225392331632
>>> random.random()
0.9063480964287944
>>> random.random()
0.1255900898753961
>>> random.random()
0.6676866041289258
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
random.randint(a, b)
输出 a 和 b 范围内的数,包括 a 和 b
>>> 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
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
random.randrange(start, stop[, step])
输出 start 到 stop-1 之间的数,可设置步长
>>> random.randrange(1,3)
2
>>> random.randrange(1,3)
1
>>> random.randrange(1,3)
2
1
2
3
4
5
6
2
3
4
5
6
随机验证码实例
#!/usr/bin/env python
import random
checkcode = ''
# for循环四次
for i 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
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
执行
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
XIDO
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
编辑 (opens new window)
上次更新: 2024-07-15, 03:27:09