1.4 KiB
1.4 KiB
验证码生成系统
需求
- 编写函数生成随机6位验证码,要求验证码的组成有0-9, a-z, A-Z
参考代码
import random
def random_char_generator():
# 生成可以用作验证码字符的列表
word = []
# 将0-9的字符串都加入这个列表中
for i in range(10):
word.append(str(i))
# 将a-z都加入这个列表中
# 原理是取ascii码表中的97-122,然后转换为字符,存入列表
for i in range(97,123):
word.append(chr(i))
# 将A-Z都加入这个列表中
for i in range(65, 91):
word.append(chr(i))
# 生成器,用于从列表中随机获取内容
while True:
yield random.choice(word)
def generate_verification_code(length):
"""生成指定长度的验证码"""
if length < 1:
raise ValueError("验证码长度至少为1")
# 创建一个生成器对象
gen = random_char_generator()
verification_code = ""
for i in range(length):
# 使用生成器生成验证码,将每次生成的随机字符+到之前产生的字符后面
verification_code += next(gen)
return verification_code
# 生成一个6位验证码
print(generate_verification_code(6))
作业7.1提交的内容
- 理解程序的运行逻辑
- 程序运行成功的截图,单独发送给组长