Python实现一个简单的验证码程序


Posted in Python onNovember 03, 2017

老师讲完random函数,自己写的,虽然和老师示例的不那么美观,智能,但是也自己想出来的,所以记录一下,代码就需要自己不断的自己练习,实战,才能提高啊!不然就像我们这些大部分靠自学的人,何时能学会。还有就是,这次听老师的,把自己的代码添加注释,所以这次把很简单的代码都写上了注释,而且很大白话,不管有没有接触过python的,我相信仔细看了,肯定能看懂。如果看完,再自己尝试着默写出来,那就是更好到了,好了进入正题:

自己写的:

__Author__ = "Zhang Peng"
import random
#导入random模块

code='abcdefdhigkmlnopqrstuvwxyzABCDEFDHIGKMLNOPQRSTUVWXYZ0123456789'
#定义一个验证码的库,赋给变量code

checkcode=''
#定义一个空字符串,赋给checkcode

count=0
#需要对循环进行计数,初始值设为0

while count<6:
  #添加一个while循环,当count小于6的时候就会一直循环

  i=random.choice(code)
  #choice是random里面的一个方法,就是把code里面的值随机取出一个来赋给i

  checkcode+=i
  #把checkcode+i重新赋值给checkcode,每循环一次checkcode长度都会增加一位

  count+=1
  #把count+1赋值给count,每循环一次,count都会加1
else:
  #else是while循环的一个用法,就是当count不小于6的时候做什么事
  pass
  #我这里写的是,当count不小于6就跳过这个循环

print(checkcode)
#最后打印一下checkcode,这里的checkcode每运行一次都会是不同的值

结果:

M9Y7sE

自己的代码,看着最别扭的就是,自己定义的那一堆code,显得很笨重,下面看看老师给的示例(这个示例,是经过我简单加工后的,老师演示的里面只可以打印出大写字母和数字的6位验证码):

__Author__ = "Zhang Peng"
import random
#导入random模块

checkcode=''
#定义一个空字符串,赋给checkcode

for i in range(6):
  #这里一个for循环,是让i在range(6)中循环,每次循环取出
  # 来的值,赋给i;这里range(6)=(0,1,2,3,4,5)

  current=random.randrange(0,6)
  #randrange是random中的一个方法,随机从range(0,6)中取一个数出来,赋值给current

  if current<2:
    #这里用了一个if语句,如果current小于2,做什么事

    checkcode+=chr(random.randint(65,90))
    #如果current等于i,randint也是random中的一个方法,chr是python中的内置函数
    #意思是把数字转换成ascll码表对应的字符,65到90正好对应ascll码中的大写A到大写Z
    #这句函数意思是chr取出一个字母加上checkcode,重新赋值给checkcode

  elif current >= 2 and current < 4 :
    #elif,如果current大于等于2,且小于4做什么。

    checkcode += chr(random.randint(97, 122))
    # 其他类似于上一条,其中97到122正好对应ascll码中的小写a到小写z

  else:
    #if的用法,如果current不符合上面条件,做什么事

    checkcode+=str(random.randint(0,9))
    #str也是python的内置函数,就是把什么转换为字符串,这里是把0到9的任意一个整数
    #取出来,加上checkcode,重新赋值给checkcode

print(checkcode)
#最后打印一下checkcode

运行结果:

vgW2u3

自己加过过后,感觉添加了一个elif,显的还是有些笨重,希望以后可以研究出更清晰的代码。

总结

以上就是本文关于Python实现一个简单的验证码程序的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Python编程django实现同一个ip十分钟内只能注册一次、简单了解Python中的几种函数、Python算法输出1-9数组形成的结果为100的所有运算式等,欢迎大家留言提出宝贵意见,共同交流进步。感谢朋友们对本站的支持!

Python 相关文章推荐
python中getaddrinfo()基本用法实例分析
Jun 28 Python
Python实现简单登录验证
Apr 13 Python
用Python写一个无界面的2048小游戏
May 24 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
浅谈Python浅拷贝、深拷贝及引用机制
Dec 15 Python
用Python设计一个经典小游戏
May 15 Python
基于python进行桶排序与基数排序的总结
May 29 Python
python矩阵的转置和逆转实例
Dec 12 Python
python DataFrame 取差集实例
Jan 30 Python
python 实现返回一个列表中出现次数最多的元素方法
Jun 11 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
Jan 10 Python
5行Python代码实现一键批量扣图
Jun 29 Python
Python编程django实现同一个ip十分钟内只能注册一次
Nov 03 #Python
简单了解Python中的几种函数
Nov 03 #Python
python Pygame的具体使用讲解
Nov 03 #Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 #Python
django定期执行任务(实例讲解)
Nov 03 #Python
python嵌套字典比较值与取值的实现示例
Nov 03 #Python
基于Python os模块常用命令介绍
Nov 03 #Python
You might like
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
js获取单选按钮的数据
2006/11/27 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
基于iScroll实现内容滚动效果
2018/03/21 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
JS使用Date对象实时显示当前系统时间简单示例
2018/08/23 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
深入理解Python分布式爬虫原理
2017/11/23 Python
python实现Adapter模式实例代码
2018/02/09 Python
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
详解Python3注释知识点
2019/02/19 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
2020/06/16 Python
Python日志器使用方法及原理解析
2020/09/27 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
大学生求职自我评价
2014/01/16 职场文书
妈妈活动方案
2014/08/15 职场文书
党的群众路线教育实践活动督导组工作情况汇报
2014/10/28 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
财务人员岗位职责
2015/02/03 职场文书
建筑工程催款函
2015/06/24 职场文书
Python+Appium实现自动抢微信红包
2021/05/21 Python