一、random模块
random模块可以用来生成随机序列,随机抽样,今天主要用来实现数字、字母组合的验证码如何实现。
二、代码
#encoding = “utf-8”
“”"
本文件主要讲通过random模块实现数字和字母组合的验证码
验证码必须由数字和字母组成
“”"
import random
def check_code(n):
result = “”
for i in range(n):
#设定一个猜测值
guess_value = random.randint(0,n)
#猜中替换为字母
if guess_value == i :
exchange = chr(random.randint(65, 90))
#未猜中附加一个随机数字
else:
exchange = random.randint(0, 9)
result += str(exchange)
#判断结果是否是纯数字或字母,如果是重新生成
if result.isdigit() or result.isalpha():
check_code(n)
else:
print(“本次验证码为:%s” % result)
#定义验证码的长度
n = 5
check_code(n)
三、代码结构和要点
1、代码结构
主要包含两部分:
第一步:随机生成字符串,并进行拼接;
使用for进行遍历,并很好玩的添加一个判断逻辑:
如果切好蒙对的是循环次数,那么拼接值变为字母,如何随机给一个数字
第二步:校验生成验证码是否符合要求
主要使用isdigit() 和isalpha()进行判断是否为纯数字或字母,并利用递归函数的思 想,直到生成符合要求的验证码才会结束。
2.random.randint()
random.randint(a,b)面随机是一个闭区间的值【a,b】,其他均为左开右闭区间:
random.random()是[0,1)
random.randrange(a,b,c)是[a,b),步长是c。