random模块——随机数模块
random()
print(random.random())#取随机数范围[0,1)的随机浮点数
#0.11015012425534876
randint()
print(random.randint(1,10))#取限定范围的随机整数,范围[1,10]
#8
randrange()
print(random.randrange(1,10))#取限定范围的随机整数,范围[1,10)
#1
sample()
print(random.sample(['a',1,3,['1','c']],2))#popilation 取值范围,第二参数取值个数,第二参数要小于元素的个数
#[3, ['1', 'c']]
shuffle()
ls = [1,'sd','3','4']
random.shuffle(ls)#随机打乱原来列表的顺序
print(ls)
#['3', 1, 'sd', '4']
choice()
print(random.choice([1,2,3,4]))#从列表中随机取出一个值
#3
choices()
print(random.choices([1,2,3,4,5,6],k=2))#列表中随机取出元素,k=关键字参数指定取值的轮次,每次在限定范围中取一个值,k没有限制
#[5, 3]
应用:随机验证码
#随机验证码
def get_auth_code(length):
res = ''
for i in range(length):
a = random.randint(0,9)
b = chr(random.randint(65,90))#ascii码中大写数字的编码
c = chr(random.randint(97,122))#小写字母的编码
res += str(random.choice([a,b,c]))
return res
print(get_auth_code(4))
#9f5k