Python实现简单生成验证码功能【基于random模块】


Posted in Python onFebruary 10, 2018

本文实例讲述了Python实现简单生成验证码功能。分享给大家供大家参考,具体如下:

验证码一般用来验证登陆、交易等行为,减少对端为机器操作的概率,python中可以使用random模块,char()内置函数来实现一个简单的验证码功能。

import random
def veri_code():
  li = []
  for i in range(6): #循环6次,生成6个字符
    r = random.randrange(0, 5) #随机生成0-4之间的数字
    if r == 1 or r == 4:  #如果随机数字是1或者4时,生成0-9的数字
      num = random.randrange(0, 9)
      li.append(str(num))
    else:  #如果不是1或者4时,生成65-90之间的数字
      temp = random.randrange(65, 91)
      char = chr(temp)  #将数字转化为ascii列表中对应的字母
      li.append(char)
  r_code = ''.join(li)  #6个字符拼接为字符串
#  print('\033[31;1m%s\033[0m' % r_code)
  return r_code  #返回字符串
#测试
print(veri_code())#运行结果:BKT8RL

基本原理是使用random,随机生成数字:

1.要几个字符就循环几次

2.随机生成一个数字,定义如果这个数字为其中某值X时,再随机一个0-9中间的数字。为什么0-9呢,因为10的话就占了两个字符了........

3.循环时,随机数字如果不为X时,生成一个65-90之间的数字,然后使用char()函数转化为ascii列表中对应的字母,当然就是大写的A-Z啦

4.将生成的字符加入列表,最后将列表拼接成字符串就O了

Python 相关文章推荐
python快速排序代码实例
Nov 21 Python
使用Python脚本来控制Windows Azure的简单教程
Apr 16 Python
Linux 发邮件磁盘空间监控(python)
Apr 23 Python
apache部署python程序出现503错误的解决方法
Jul 24 Python
使用Eclipse如何开发python脚本
Apr 11 Python
Python文件如何引入?详解引入Python文件步骤
Dec 10 Python
pyqt5 QProgressBar清空进度条的实例
Jun 21 Python
django 类视图的使用方法详解
Jul 24 Python
Python3将数据保存为txt文件的方法
Sep 12 Python
使用sklearn的cross_val_score进行交叉验证实例
Feb 28 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
Apr 21 Python
python RSA加密的示例
Dec 09 Python
Django中Forms的使用代码解析
Feb 10 #Python
Python中列表与元组的乘法操作示例
Feb 10 #Python
Python程序运行原理图文解析
Feb 10 #Python
Python迭代器和生成器定义与用法示例
Feb 10 #Python
Python中装饰器学习总结
Feb 10 #Python
Python基于hashlib模块的文件MD5一致性加密验证示例
Feb 10 #Python
Python中生成器和迭代器的区别详解
Feb 10 #Python
You might like
删除数组元素实用的PHP数组函数
2008/08/18 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
些很实用且必用的小脚本代码
2006/06/26 Javascript
Gird事件机制初级读本
2007/03/10 Javascript
Extjs学习笔记之七 布局
2010/01/08 Javascript
重写javascript中window.confirm的行为
2012/10/21 Javascript
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
[01:05:52]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第一场 2月2日
2021/03/11 DOTA
python实现中文输出的两种方法
2015/05/09 Python
Python文件及目录操作实例详解
2015/06/04 Python
Python实现FM算法解析
2019/06/18 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
加拿大女装网上购物:Reitmans
2016/10/20 全球购物
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
毕业研究生的自我鉴定
2013/11/30 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
人事行政经理岗位职责
2014/06/18 职场文书
反腐倡廉标语
2014/06/24 职场文书
美术专业自荐信
2014/07/07 职场文书
一份没有按时交货失信于客户的检讨书
2014/09/19 职场文书
2014年高中生自我评价范文
2014/09/26 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
JS数组去重详情
2021/11/07 Javascript
Python+Tkinter打造签名设计工具
2022/04/01 Python