本文摘自php中文网,作者巴扎黑,侵删。
1、借助列表1 2 3 4 5 6 7 8 9 10 11 | 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()方法,生成了随机验证码。下面我们来尝试也生成大写验证码的方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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、字符串拼接
1 2 3 4 5 6 7 8 9 10 | 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)
|
此方法就是使用字符串的拼接生成的随机验证码,其实上述方法的本质都是一样的,可能第一种方法的效率还会更高一点,但是都实现了随机验证码的功能。
二、生成账单流水号的方法
1 2 3 4 5 6 7 | 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方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import random
def generate_verification_code( len = 6 ):
code_list = []
for i in range ( 10 ):
code_list.append( str (i))
for i in range ( 65 , 91 ):
code_list.append( chr (i))
for i in range ( 97 , 123 ):
code_list.append( chr (i))
myslice = random.sample(code_list, len )
verification_code = ''.join(myslice)
return verification_code
|
以上就是验证码的随机生成的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python介绍嵌套 json 秒变 dataframe!
Python 中容易混淆的概念--迭代器与生成器
介绍Python描述符的意义
Python是开源的吗
Python中字符串可以遍历吗
Python怎么返回矩阵行列
pycharm怎么设置背景颜色
爬虫Python多久可以学会
Python json模块如何使用
Python中变量和数据类型介绍
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » 验证码的随机生成