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 匹配任意字符(包括换行符)的正则表达式写法
Oct 29 Python
ptyhon实现sitemap生成示例
Mar 30 Python
python多线程threading.Lock锁用法实例
Nov 01 Python
python每隔N秒运行指定函数的方法
Mar 16 Python
使用Python和Scribus创建一个RGB立方体的方法
Jul 17 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
Feb 16 Python
python interpolate插值实例
Jul 06 Python
pycharm 2020 1.1的安装流程
Sep 29 Python
python如何实现word批量转HTML
Sep 30 Python
浅析Python中字符串的intern机制
Oct 03 Python
Python用access判断文件是否被占用的实例方法
Dec 17 Python
python实现大文本文件分割成多个小文件
Apr 20 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生成静态HTML速度快类库
2007/03/18 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
PHP写日志的实现方法
2014/11/05 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
2017/06/13 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
JavaScript 原型继承之构造函数继承
2011/08/26 Javascript
jQuery关于导航条背景切换效果实现示例
2013/09/04 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
一个JavaScript防止表单重复提交的实例
2014/10/21 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
DOM事件探秘篇
2017/02/15 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
浅谈Vue.js
2017/03/02 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
详解Python下ftp上传文件linux服务器
2018/06/21 Python
python实现名片管理系统项目
2019/04/26 Python
Python检测数据类型的方法总结
2019/05/20 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
Python打印不合法的文件名
2020/07/31 Python
python实现简单的五子棋游戏
2020/09/01 Python
小区门卫工作职责
2013/12/14 职场文书
中介业务员岗位职责
2014/04/09 职场文书
学校爱心捐款倡议书
2014/05/13 职场文书
统计专业自荐书
2014/07/06 职场文书
2014年作风建设心得体会
2014/10/22 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python
MySQL之select、distinct、limit的使用
2021/11/11 MySQL
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python