1. random模块
random用于生成随机数。常用的方法也就几个,如下表:
方法 | 描述 |
random() | 返回随机生成的一个实数,范围[0,1)内;可以取到0,但不能取到1
|
randint(a,b) | 返回随机生成的一个整数,范围在[a,b]内 |
choice() | 返回一个列表、元组或字符串的随机项 |
randrange(a,b) | 返回随机生成的一个整数,范围在[a,b)内 |
1.1 random.random()
返回随机生成的一个实数,遵循左闭右开原则,范围[0,1)内;可以取到0,但不能取到1
>>> import random
>>> random.random()
0.8089529416689497
>>> random.random()
0.666544085306717
1.2 random.randint(a,b)
返回随机生成的一个整数,范围在[a,b]内,可以取到a和b
>>> random.randint(1,3)
2
>>> random.randint(1,3)
3
>>> random.randint(1,3)
1
>>> random.randint(1,3)
1
1.3 random.randrange(a,b)
返回随机生成的一个整数,遵循左闭右开原则但不能取到1范围在[a,b)内,可以取到a,不能取到b
>>> import random
>>> random.randrange(2,4)
3
>>> random.randrange(2,4)
2
>>> random.randrange(2,4)
3
>>> random.randrange(2,4)
2
1.4 random.choice()
返回一个列表、元组或字符串的随机项
>>> li = [1, 2, 3]
>>> import random
>>> random.choice(li)
1
>>> random.choice(li)
3
>>> random.choice(li)
2
>>> random.choice(li)
2
2. 实例
实现一个6位数的随机验证码,包含大小写字母和数字
import random
def random_code():
code = ''
for i in range(6):
alphabet = [random.randrange(65, 91), random.randrange(97, 123)]
alphabet_to_number = chr(random.choice(alphabet))
a = random.choice([alphabet_to_number, random.randrange(0, 10)])
code += str(a)
print(code)
random_code()
验证一下,在Linux命令行运行Python代码