利用Python的random模块可以完成随机产生n位验证码的功能,且原理简单。
1 import random 2 #完成5位随机验证码的生成 3 def valiate1(): 4 string ='' 5 for i in range(5): #设置验证码位数 6 rand_num = random.randint(0,61) #一共有62种可能的情况 7 if rand_num < 10: 8 string += str(rand_num) 9 elif 10 <= rand_num <= 35: 10 string += chr(rand_num+55) #随机产生A-Z 11 else: 12 string += chr(rand_num+61) #随机产生a-z3 13 return string 14 print(valiate1()) 15 #该方法数字,大写字母,小写字母出现的概率相同 16 def valiate2(): 17 string ='' 18 for i in range(5): #设置验证码位数 19 rand_num = random.randint(0,9) 20 rand_alpha = chr(random.randint(97,122)) 21 rand_Alpha = chr(random.randint(65,90)) 22 res =random.choice([str(rand_num),rand_alpha,rand_Alpha]) 23 string += res 24 return string 25 print(valiate2())
短短几行代码就能解决我们在写登录界面相关程序时的验证模块,使用起来很方便!
注意:random.choice( )中的参数必须是列表的形式。