Python的random模块

random() 方法返回随机生成的一个实数,它在 (0, 1) 范围内。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
>>> import random
>>> # 随机小数
>>> random.random() # 大于0且小于1之间的随机小数
0.7664338663654585
>>> random.uniform(1,3) # 大于1小于3的小数
1.6270147180533838
>>> # 随机整数
>>> random.randint(1,5) # 大于等于1且小于等于5之间的整数
>>> random.randrange(1,5) # 大于等于1且小于5之间的整数
>>> random.randrange(1,10,2) # 大于等于1且小于10之间的奇数
>>>
>>> # 从对象中随机选择一个元素
>>> random.choice([1,'23',[4,5]]) # 1 或 23 或 [4,5]
>>>
>>> # 随机选择指定个数的元素,返回的个数为函数的第二个参数
>>> random.sample([1,'23',[4,5]],2) # 列表元素任意2个组合
[[4, 5], '23']
>>>
>>> # 打乱列表顺序,洗牌功能
>>> item=[1,3,5,7,9]
>>> random.shuffle(item) # 打乱次序
>>> item
[5, 1, 3, 7, 9]
>>> random.shuffle(item)
>>> item
[5, 9, 7, 1, 3]

练习:生成随机验证码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import random

def make_verification_code(codelen=6):
code = ''
for i in range(codelen):
digit = str(random.randrange(0,10))
alpha_upper = chr(random.randrange(65,91))
alpha_lower = chr(random.randrange(97,122))
code += random.choice([all_digit,all_alpha_lower,all_alpha_upper])
return code

print(make_verification_code(codelen=9))
有钱任性,请我吃包辣条
0%