一, 前言
学习 python 随机数 random 模块的使用 , 并使用模块中的函数, 实现 6 位验证码生成
二, random 模块
1,random.random()
返回 0-1 直接的随机数, 类型为 float
- >>>print(random.random())
- 0.1259184691662908
- 2,random.randint(1, 8)
返回 1-8 直接的随机数, 包括 8
- >>>print(random.randint(1, 8))
- 3
- 3,random.choice()
从一个序列中随机取元素
- >>>print(random.choice('hello'))
- >>>'h'
- >>>print(random.choice([1, 2, 3, 4]))
- >>>2
- >>>print(random.choice((1, 2, 3, 4)))
- >>>3
- 4,random.sample()
从可迭代对象中随机返回指定个数的元素
- >>>print(random.sample([1, 'allen', [2, 3], (4, 5)], 2))
- >>>['allen', 1]
使用 random 实现生成 6 位数的随机数
随机数要求: 使用数字, 大小写字母随机生成
- import random
- def get_code():
- code = ''
- for i in range(6):
- add = random.choice([random.randrange(10), chr(random.randrange(65, 91)), chr(random.randrange(97, 123))])
- code += str(add)
- print(code)
- return code
- get_code()
结果:
8sE9o3
ixH0o4
337o2W ...
实现思路:
1, 使用 random.randrange(10) 获取 0-9 十个数字
2, 小写字母对应 ascii 码中 65-90
3, 大写字母对应 ascii 码中 97-122
4, 通过 chr(int) 将 ascii 码转为字母
5, 将步骤数字, 大小写字母组成 list, 通过调用 random.choice() 随机选择数字, 大小写字母
6, 通过 for 循环, 进行 6 次选择, 使用字符串拼接 6 次组成 6 位随机验证码
来源: http://www.bubuko.com/infodetail-2596138.html