视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
验证码的随机生成
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.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

下载本文
显示全文
专题