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 图片验证码代码分享
Jul 04 Python
浅析python 中__name__ = '__main__' 的作用
Jul 05 Python
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
Nov 24 Python
微信跳一跳python代码实现
Jan 05 Python
Python使用paramiko操作linux的方法讲解
Feb 25 Python
Python多进程编程multiprocessing代码实例
Mar 12 Python
python+opencv实现移动侦测(帧差法)
Mar 20 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
keras中的卷积层&amp;池化层的用法
May 22 Python
浅谈pymysql查询语句中带有in时传递参数的问题
Jun 05 Python
python中的yield from语法快速学习
Nov 06 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
Jun 11 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/09/23 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
laravel 解决Validator使用中出现的问题
2019/10/25 PHP
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
两种常用的javascript数组去重方法思路及代码
2013/03/26 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
javascript实现2016新年版日历
2016/01/25 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
vue自定义js图片碎片轮播图切换效果的实现代码
2019/04/28 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
python中装饰器级连的使用方法示例
2017/09/29 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
Python多线程的退出控制实现
2020/08/10 Python
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
杠杆的科学教学反思
2014/01/10 职场文书
同学会主持词
2014/03/18 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
2014年关工委工作总结
2014/11/17 职场文书
小学班主任工作随笔
2015/08/15 职场文书
2016入党积极分子党课培训心得体会
2016/01/06 职场文书
《司马光》教学反思
2016/02/22 职场文书
公司年会主持词范文!
2019/05/07 职场文书
python Tkinter的简单入门教程
2021/04/11 Python