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共享引用(多个变量引用)示例代码
Dec 04 Python
Python urlopen()函数 示例分享
Jun 12 Python
python下载文件时显示下载进度的方法
Apr 02 Python
Python复数属性和方法运算操作示例
Jul 21 Python
Python数据可视化库seaborn的使用总结
Jan 15 Python
运用PyTorch动手搭建一个共享单车预测器
Aug 06 Python
python 实现按对象传值
Dec 26 Python
python对一个数向上取整的实例方法
Jun 18 Python
python调用摄像头的示例代码
Sep 28 Python
python 如何用urllib与服务端交互(发送和接收数据)
Mar 04 Python
Python基于Tkinter开发一个爬取B站直播弹幕的工具
May 06 Python
python 单机五子棋对战游戏
Apr 28 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
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
详解PHP归并排序的实现
2016/10/18 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/06 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
JS获取一个未知DIV高度的方法
2016/08/09 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
2017/04/19 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
使用pm2部署node生产环境的方法步骤
2019/03/09 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
Python模糊查询本地文件夹去除文件后缀的实例(7行代码)
2017/11/09 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
详解Python做一个名片管理系统
2019/03/14 Python
通过实例解析Python调用json模块
2019/12/11 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
有机童装:Toby Tiger
2018/05/23 全球购物
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
计算机工程学院个人求职信
2013/10/05 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
小学生读书笔记
2015/07/01 职场文书
Python 线程池模块之多线程操作代码
2021/05/20 Python