1.random()模块常用的函数
函数 描述 random() 返回0<n<=1 getrandbits(n) 以长整形形式返回n个随机位 uniform(a, b) 返回随机实数n,其中a<=n<=b randrange([start], stop, [step]) 返回range(start,stop,step)中的随机数 choice(seq) 从序列seq中返回随意元素 shuffle(seq[, random]) 原地指定序列seq(将有序列表变成无序的:洗牌) sample(sea, n) 从序列seq中选择n个随机且独立的元素
2.random常用函数举例
import random
#⒈ 随机整数:
print(random.randint(0,99)) # 随机选取0-99之间的整数
print(random.randrange(0, 101, 2)) # 随机选取0-101之间的偶数
#⒉ 随机浮点数:
print(random.random()) # 0.972654134347
print(random.uniform(1, 10)) # 4.14709813772
#⒊ 随机字符:
print(random.choice('abcdefg')) # c
print(random.sample('abcdefghij',3)) # ['j', 'f', 'c']
3.random实现四位验证码
3.1使用for循环实现
import random
checkcode = ''
for i in range(4):
current = random.randrange(0,4)
if current == i:
tmp = chr(random.randint(65,90)) #65,90表示所有大写字母
else:
tmp = random.randint(0,9)
checkcode += str(tmp)
print(checkcode) #运行结果: 851K
3.2使用random.sample实现
import random
import string
str_source = string.ascii_letters + string.digits
str_list = random.sample(str_source,7) #['i', 'Q', 'U', 'u', 'A', '0', '9']
str_final = ''.join(str_list)
print(str_final) # 运行结果: jkFU2Ed
>>> string.digits
'0123456789'
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'