05-python 学习第五天-简单验证码
通过python 随机数可以制作简单的验证码。
1.0版本来了,这验证码,只有一个码,功能虽然达不到,逻辑还是准确的,目前还不能算是验证码,但是我们会继续完善的。
import random # 导入随机数函数random
checkcode = '' #设定一个空变量,作为验证码 for i in range(4): #循环0到4之间的数字
checkcode +=str(i) #每次的数字变成字符串 print(checkcode) #输出出来
运行结果:0123(每次都是这个固定数字)呵呵
1.1版本来了,我们用随机数了,加一句代码可以随机生成了。
import random # 导入随机数函数random
checkcode = '' #设定一个空变量,作为验证码 for i in range(4):
current = random.randint(0,9) #每次循环随机数吧
checkcode +=str(current) print(checkcode) #输出出来
结果是:6151 四位数字的验证码就这样诞生了。
1.2的版本来了,同学说纯数字太不靠谱了,级别太低,不安全,能不能添加字母呢? 我说:那不简单嘛,添加字母不就行了嘛。
# Author:Dwdar
import random # 导入随机数函数random checkcode = '' # 设定一个空变量,作为验证码 for i in range(4):
# 添加字母
current = random.randrange(0, 4) # 猜一猜,我生成的随机数会不会和i 相等呢?
if current == i: # 如果猜中了
temp = chr(random.randint(65, 90)) # 那么就找出ASCII 码中的任意输入,把它转换成字母放到temp存起来。
# 添加数字
else:
temp = random.randint(0, 9) # 如果没有菜刀,就用原来的0到9之间的数字,放到temp存起来
checkcode += str(temp) # 把存起来的temp用起来就能生成数字或字母组合的一组数据了。 print(checkcode)
结果是:24G4,可以生成字母和数字组合的(有时会纯数字和纯字母)了,这下可以算是比较好的验证码了。如果你想做成6位数的,只要把两处的4改成6就可以。
1.3 版本来了,6位数数字字母组合验证码。
# Author:Dwdar
import random # 导入随机数函数random checkcode = '' # 设定一个空变量,作为验证码 for i in range(6):
# 添加字母
current = random.randrange(0, 6) # 猜一猜,我生成的随机数会不会和i 相等呢?
if current == i: # 如果猜中了
temp = chr(random.randint(65, 90)) # 那么就找出ASCII 码中的任意输入,把它转换成字母放到temp存起来。
# 添加数字
else:
temp = random.randint(0, 9) # 如果没有菜刀,就用原来的0到9之间的数字,放到temp存起来
checkcode += str(temp) # 把存起来的temp用起来就能生成数字或字母组合的一组数据了。 print(checkcode)
结果是:889152
05-python 学习第五天-简单验证码的更多相关文章
- python学习第五次笔记
python学习第五次笔记 列表的缺点 1.列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢. 2.列表只能按照顺序存储,数据与数据之间关联性不强 数据类型划分 数据类型:可变数据 ...
- Python学习第五堂课
Python学习第五堂课推荐电影:华尔街之狼 被拯救的姜哥 阿甘正传 辛德勒的名单 肖申克的救赎 上帝之城 焦土之城 绝美之城 #上节内容: 变量 if else 注释 # ""& ...
- 05 python学习笔记-常用内置函数(五)
1.sorted() 函数对所有可迭代的对象进行排序(默认升序)操作 sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作. l ...
- python模块——random模块(简单验证码实现)
实现一个简单的验证码生成器 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = "loki" # Usage: 验证 ...
- python学习笔记(五):装饰器、生成器、内置函数、json
一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能,比如说,我以前写了很多代码,系统已经上线了,但是性能比较不好,现在想把程序里 ...
- python 验证码识别示例(五) 简单验证码识别
今天介绍一个简单验证的识别. 主要是标准的格式,没有扭曲和变现.就用 pytesseract 去识别一下. 验证码地址:http://wscx.gjxfj.gov.cn/zfp/webroot/xfs ...
- python学习笔记五 模块上(基础篇)
模块学习 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...
- python学习笔记五 模块下(基础篇)
shevle 模块 扩展pickle模块... 1.潜在的陷进 >>> import shelve>>> s = shelve.open("nb" ...
- python学习笔记(3)--turtle简单绘制
参考:大学生mooc 北京理工大学的python程序与设计课程 蟒蛇绘制代码如下: #pythonDraw.py import turtle turtle.setup(650,350,200,200) ...
随机推荐
- [转]从客户端中检测到有潜在危险的 Request.Form 值。
参考资料: ASP.NET 4.0中使用FreeTextBox和FCKeditor遇到安全问题警告的解决办法关于问题出现的原因说的很清楚 引言 本人在.NET 4.0+VS2010环境下调试一个ASP ...
- 502Bad Gateway
502 bad gateway,错误的网关的原因 连接超时,我们向服务器发送请求,由于服务器当前链接太多,导致服务器方面无法给予正常的响应,产生此报错,最好去服务器上找原因. 性能测试常见,可能是由于 ...
- log4j.rootLogger
log4j.rootLogger=INFO, FILE, CONSOLE log4j.rootLogger=TRACE, FILE, CONSOLE
- 2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据
redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略.redis 提供 6种数据淘汰策略: voltile-lru:从已设置过期时间的数据集(server.db[i].expires) ...
- .net下MVC中使用Tuple分页查询数据
主要是在DAL层写查询分页的代码. 例如DAL层上代码: public Tuple<List<WxBindDto>, int> GetMbersInfo(int start, ...
- 列表中的index,extend,count方法
列表中的index,extend,count方法 #_author:Administrator#date:2019/10/24#1.index方法l=['blue','red','white','bl ...
- c++ strlen() 函数
{ char *buf = new char[1024]; ZeroMemory(buf,1024) for(int i = 0; i < 1023; i++) { buf[i] = '5'; ...
- 「题解」:$e$
问题 B: $e$ 时间限制: 2 Sec 内存限制: 512 MB 题面 题面谢绝公开. 题解 话说一天考两个主席树这回事…… 正解可以叫树上主席树??(脸哥说也叫主席树上树???) 对于树上的每 ...
- HDU - 1560 DNA sequence
给你最多8个长度不超过5的DNA系列,求一个包含所有系列的最短系列. 迭代加深的经典题.(虽然自己第一次写) 定一个长度搜下去,搜不出答案就加深大搜的限制,然后中间加一些玄学的减枝 //Twenty ...
- Facebook分布式框架—Thrift介绍。
Thrift介绍 Thrift是一个分布式RPC框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, ...