random实现一个验证码,可以是4位或者6位,可以是纯数字、数字+字母
random实现一个验证码,可以是4位或者6位,可以是纯数字、数字+字母 点击查看代码
#生成纯数字
import random
def generate_numeric_code(length):
code = ""
for _ in range(length):
code += str(random.randint(0, 9)) # 生成0到9之间的随机数,并转换为字符串添加到验证码中
return code
# 生成一个4位数的纯数字验证码
numeric_code_4 = generate_numeric_code(4)
print(f"生成的4位纯数字验证码: {numeric_code_4}")
# 生成一个6位数的纯数字验证码
numeric_code_6 = generate_numeric_code(6)
print(f"生成的6位纯数字验证码: {numeric_code_6}")
#生成数字、字母
import random
import string
def generate_str_num_code(length):
characters=string.digits+string.ascii_letters #type--><class 'str'>
code=""
for i in range(length):
code=code+ random.choice(characters)
#code = code + str(random.sample(characters,1))
#print(type(str(random.sample(characters,1)))) #class 'str'> ['2']
# type--><class 'str'> random.sample(characters,1)的结果是一个list,即使用str强制转换,看起来也还有列表的特征['w']['E']['o']['8'],而random.choice(characters)是单个的字符
return code
ret = generate_str_num_code(4) #type--><class 'str'>
print(ret)
print(f"the code you generated is: {ret}")
# 以下是辅助理解代码用:
import random
characters='0123456789'
print(random.choice(characters)) # 9
print(type(random.choice(characters))) # <class 'str'>
print(random.sample(characters,1)) # ['9']
print(type(random.sample(characters,1))) # <class 'list'>
list=[['a'],['b'],'c']
list1 = [1,2,3]
print(str(list)) # [['a'], ['b'], 'c']
print(str(list1)) # [1, 2, 3]
#random.sample(characters,1)的结果是一个list,即使用str强制转换,看起来也还有列表的特征['w']['E']['o']['8'],而random.choice(characters)是单个的字符,所以这里最好用random.choice来生成
#在Python中,使用str()函数将一个列表转换为字符串时,结果确实看起来仍然像是列表。这是因为str()函数在处理列表时,会生成一个包含列表元素的字符串表示形式,该字符串会包含列表的方括号 [ ] 和逗号 , 分隔的元素。
string.digits 和 string.ascii_letters 也是很好用的方法
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)