0基础学Python(4)——验证码函数
来源:互联网 发布:免费私有云软件 编辑:程序博客网 时间:2024/06/15 04:52
兄弟连学Python(4)——验证码函数
本周学习了一个制作验证码的函数,在自己消化理解之后,整理了自己思路,一步一步写了下来,希望自己可以活用。
#不选择模式的验证码 4位混合验证码
import random
def yzm(d):
lis = list('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
#打乱列表的顺序
random.shuffle(lis)
#返回值
return ''.join(lis[0:d])
#调用函数并打印其结果
res = yzm(4)
print(res)
#使用ascii码写不选择模式的混合验证码的函数
import random
def yzm(d):
i = 0
#定义一个装结果的空字符串
strk = ''
while i < d:
ascii = random.randrange(48,123)
if ascii in range(58,65):
continue
elif ascii in range(91,97):
continue
else:
strk += chr(ascii)
i += 1
return strk
res = yzm(4)
print(res)
#写可以选择验证码形式的函数
import random
def yzm(w = 4,m = 3): #默认值设置为4位的混合验证码
# m=0:纯数字,m=1:纯小写,m=2:纯大写,m=其他:混合
#使用纯数字模式
if m == 0:
lis = list('0123456789')
random.shuffle(lis)
#返回值结果是直接连接w个字符串组成的新字符串
return ''.join(lis[0:w])
#res = yzm(4,0)
#print(res)
#使用纯小写字母模式
elif m == 1:
lis = list('abcdefghijklmnopqrstuvwxyz')
random.shuffle(lis)
return ''.join(lis[0:w])
#res = yzm(4,1)
#print(res)
#使用纯大写字母模式
elif m == 2:
lis = list('ABCDEFGHIJKLMNOPQRSTUVWXYZ')
random.shuffle(lis)
return ''.join(lis[0:w])
#res = yzm(4,2)
#print(res)
#使用大小写混合模式
else:
lis = list('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
random.shuffle(lis)
return ''.join(lis[0:w])
#res = yzm(4,3)
#print(res)
#调用函数
res = yzm()
print(res)
#使用ascii码写一个可以选择模式和位数的验证码函数
import random
def yzm(w = 4,m = 3): #默认值设置为4位的混合验证码
# m=0:纯数字,m=1:纯小写,m=2:纯大写,m=其他:混合
#纯数字
if m == 0:
#首先,定义一个空字符串
bank = ''
i = 0
while i < w:
bank += chr(random.randrange(48,58))
i += 1
return bank
#res = yzm(4,0)
#print(res)
#纯小写字母
elif m == 1:
bank = ''
i = 0
while i < w:
bank += chr(random.randrange(97,123))
i += 1
return bank
#res = yzm(4,1)
#print(res)
#纯大写字母
elif m == 2:
bank = ''
i = 0
while i < w:
bank += chr(random.randrange(65,91))
i += 1
return bank
#res = yzm(4,2)
#print(res)
#数字大小写字母混合
else:
bank = ''
i = 0
while i < w:
ascii = random.randrange(48,123)
if ascii in range(58,65):
continue
elif ascii in range(91,97):
continue
else:
bank += chr(ascii)
i += 1
return bank
#res = yzm(4,3)
#print(res)
#调用函数
res = yzm()
print(res)
Python学习交流、资源共享群:563626388 QQ
- 0基础学Python(4)——验证码函数
- 学python(04)——函数生成N位验证码
- 0基础学Python(7) —— 快速排序
- 兄弟连学Python(1)— 函数
- 兄弟连学python(4)——内部函数
- Python函数—基础
- 菜鸟学python(02)—— 基础笔记整理
- 菜鸟学python(04) —— 基础笔记整理
- 0基础学Python(2) 说一说自己对递归函数的理解
- [零基础学python]重回函数
- 零基础学python-15.2 分解函数
- 兄弟连学python(2)——函数
- 兄弟连学python(3)——函数文档
- 兄弟连学Python(4)--lambda函数
- 0基础学Python(3) ——列表推导式
- 0基础学Python(6) —— 关于装饰器
- 0基础学Python(8) —— 实现多态数据库
- python基础(04)——函数
- 部署
- CopyOnWriteArrayList类set方法疑惑?
- Executor框架(二)
- 313. Super Ugly Number
- Java 并发 --- 非阻塞队列之ConcurrentLinkedQueue源码分析
- 0基础学Python(4)——验证码函数
- 原型模式
- Struts2框架学习笔记
- Spark和Hbase环境变量冲突解决办法
- hibernate执行sql语句更新
- js Dom转字符串与字符串转Dom
- PowerDesigner怎样才能在修改表的字段Name的时候Code不自动跟着变
- 设计模式C++实现(15)——观察者模式
- Zookeeper--Java客户端