生成随机验证码的方法
Posted (野生程序员)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成随机验证码的方法相关的知识,希望对你有一定的参考价值。
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 += string return code result = verification_code() print(result)
此方法就是使用字符串的拼接生成的随机验证码,其实上述方法的本质都是一样的,可能第一种方法的效率还会更高一点,但是都实现了随机验证码的功能。
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)
以上是关于生成随机验证码的方法的主要内容,如果未能解决你的问题,请参考以下文章