8.random模块–生成伪随机数
8.1 调用模块
import random
常用的random函数
- random.random() 大于0小于1 的浮点数
import random
>>>print(random.random()) # 大于0且小于1的数 浮点数
0.5972541169356956
- random.randint(x,y) 生成大于等于x 且 小于等于y的 正数
>>>print(random.randint(1,3)) # 大于等于1 且小于等于3之间 整数
2
- random.randrange(x,y) 生成大于等于 x且小于 y的 正数
>>>print(random.randrange(1,3)) # 大于等于1 且小于3 也是整数
2
- random.choice([‘一等奖’,‘二等奖’,‘三等奖’]) 随机抽取我们给定的范围内的一个
>>>print(random.choice(['一等奖','二等奖','三等奖'])) # 要随机出来我们给的一份范围
一等奖
- random.sample([‘一等奖’,‘二等奖’,‘三等奖’],n) 随机抽取我们给定的范围内的n个
>>>print(random.sample(['一等奖','二等奖','三等奖'],2)) # 指定随机出来的个数
['一等奖', '二等奖']
- random.uniform(x,y) 随机生成一个大于x小于y的浮点数
>>>print(random.uniform(1,3)) # 大于1小于3 的浮点数
2.601703102701215
- random.shuffle(i) 随机打乱变量i里的顺序
#洗牌 将顺序打乱
i = [1,3,5,7,9]
random.shuffle(i)
>>>print(i)
[9, 7, 3, 1, 5]
8.2 随机生成验证码的设计
import random
def ma(size=4): #设计我们想要验证码的个数
res = ''
for i in range(size):
# # 26 个字母中随机跳出来一个 ascll码
s1 = chr(random.randint(65, 106)) #26个字母的ascll码
# #0-9中一个数字
s2 = str(random.randint(0, 9))
res += random.choice([s1, s2])
print(res)
>>>ma(4) #四位验证码
>>>ma(8) #八位验证码
77X5
6bF0c4Y