我们平常上网处处可见需要输入验证码的地方,利用Python的random()模块,其实我们只用简单20行代码就能实现。下为效果图,能识别是否正确:
其中也没有复杂的函数嵌套、函数递归,逻辑也比较简单,主要只用到了for循环、和if语句,输入部分用一个while无限循环而已。下面附上源码,逻辑很简单,相信大家不难理解。
import random
#生成一个4位的包含字母和数字的随机字符串
def check_code():
checkcode = ''
for i in range(4):
current = random.randrange(0,4) #一个4位的随机字符
if current != i:
temp = chr(random.randint(65,90))
#chr返回一个字符串,参数为ASCII码,此处ASCII码为65到90的随机数,
#即为所有大写字母,97到122为所有小写字母
else:
temp = random.randint(0,9) #0到9之内的随机数
checkcode += str(temp) #将temp转化成字符类型
return checkcode
while True:
code = check_code()
print(code)
IN = input("请输入验证码:")
if IN == code:
print("正确!")
break
else:
print("错误,请重新输入!")
这串代码是反复试验过的,直接拷贝进编译器就能实现效果。