random模块
导入
import random
随机整数
包括最大值,不可加步长
random.randint(最小值,最大值)
不包括最大值,但可以给步长
random.randrange(最小值,最大值,步长)
随机选择一个返回
random.choice(列表)
随机取多个返回
随机取多个,返回结果是列表
random.sample(列表,取几个)
打乱顺序
用于洗牌,会改变列表自身数据
random.shuffle(列表)
作业生成验证码
随机生成八位数验证码
提示
利用一下ascii
chr(ascii码值) 可得到 对应的字符
目标,需要获得一个八位的由数字和字母组成的随机验证码
0-9
大写的A-Z 65-90
小写的a-z 97-122
方法一
完全随机
- 做一个列表
- 先取数字
- 取大写字母
- 取小写字线
- 随机取多个
方法二
数字多
num=[0,1,2,3,4,5,6,7,8,9,chr(random.randint(65,90)),chr(random.randint(97,122))]
s=random.sample(num,8)
print(s)
方法三
数字,大写字母,小写字母出现机会均等
import random
i = 0
rand_char = “”
while i < 8:
# 随机一个大写字母
big_char = chr(random.randint(65, 90))
# 随机一个小写字母
small_char = chr(random.randint(97, 122))
# 随机一个整数
int_char = str(random.randint(0,9))
# 三个组成列表
char_list = [big_char, small_char, int_char]
# 从列表中随机出来一个
get_char = random.choice(char_list)
# 重复八次上面的操作
rand_char += get_char
i += 1
print(rand_char)