最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

验证码的随机生成

来源:动视网 责编:小采 时间:2020-11-27 14:23:30
文档

验证码的随机生成

验证码的随机生成:1、借助列表import random def random_code(): random_list = []for i in range(4): ra = random.randrange(4)if ra == i: random_list.append(chr(random.randrange(97,122)))else: random_list.
推荐度:
导读验证码的随机生成:1、借助列表import random def random_code(): random_list = []for i in range(4): ra = random.randrange(4)if ra == i: random_list.append(chr(random.randrange(97,122)))else: random_list.


1、借助列表

import random

def random_code():
 random_list = []for i in range(4):
 ra = random.randrange(4)if ra == i:
 random_list.append(chr(random.randrange(97,122)))else:
 random_list.append(str(random.randrange(0,9)))
 code = "".join(random_list)return code

result = random_code()
print(result)

  上述代码实现了随机验证码的功能,但是只能生成包含小写字母的随机验证码;并且我们也是借助列表完成的,字符串的拼接加上列表,字符串jion()方法,生成了随机验证码。下面我们来尝试也生成大写验证码的方法。

import random

def random_code():
 random_list = []for i in range(4):
 ra = random.randrange(4)if ra == i:
 random_list.append(chr(random.randrange(97,122)))
 elif ra > i:
 random_list.append(str(random.randrange(0,9)))else:
 random_list.append(chr(random.randrange(65,90)))
 code = "".join(random_list)return code

result = random_code()
print(result)

  由于数据之间有三种关系,大于,小于,等于,这样把每种情况都进行分析,就能生成三种随机验证码;当等于的时候生成小写验证码,等大于的时候生成数字,当小于的时候生成大写字母验证码,这样就实现了我们在网站上面常见的验证码的形式。

2、字符串拼接

import random

def verification_code():
 code = ""for i in range(1,5):
 ra = random.randint(1,4)if ra == i:string = chr(random.randrange(97,122))
 elif ra > i:string = chr(random.randrange(65,90))else:string = str(random.randint(0,9))
 code += stringreturn code

result = verification_code()
print(result)

  此方法就是使用字符串的拼接生成的随机验证码,其实上述方法的本质都是一样的,可能第一种方法的效率还会更高一点,但是都实现了随机验证码的功能。

二、生成账单流水号的方法

import datetime,time

def serial_number():
 serial = "{0}{1}".format(datetime.datetime.now().strftime("%Y%m%d%H%M%S"),str(int(time.time())))return serial

message = serial_number()
print(message)

  账单流水号是由日期datetime模块和time模块构成,由于流水号就是当时购物的时间串号,而且永远不会重复。

三、利用range方法

import random
def generate_verification_code(len=6):
 ''' 随机生成6位的验证码 '''
 # 注意: 这里我们生成的是0-9A-Za-z的列表,当然你也可以指定这个list,这里很灵活
 # 比如: code_list = ['P','y','t','h','o','n','T','a','b'] # PythonTab的字母
 code_list = [] 
 for i in range(10): # 0-9数字
 code_list.append(str(i))
 for i in range(65, 91): # 对应从“A”到“Z”的ASCII码
 code_list.append(chr(i))
 for i in range(97, 123): #对应从“a”到“z”的ASCII码
 code_list.append(chr(i))
 myslice = random.sample(code_list, len) # 从list中随机获取6个元素,作为一个片断返回
 verification_code = ''.join(myslice) # list to string
 return verification_code

文档

验证码的随机生成

验证码的随机生成:1、借助列表import random def random_code(): random_list = []for i in range(4): ra = random.randrange(4)if ra == i: random_list.append(chr(random.randrange(97,122)))else: random_list.
推荐度:
标签: 生成 方法 验证
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top