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 删除列表里所有空格项的方法总结
Apr 18 Python
python 制作自定义包并安装到系统目录的方法
Oct 27 Python
值得收藏的10道python 面试题
Apr 15 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
解决Python二维数组赋值问题
Nov 28 Python
开启Django博客的RSS功能的实现方法
Feb 17 Python
python正则表达式实例代码
Mar 03 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
Apr 22 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
May 03 Python
解析Tensorflow之MNIST的使用
Jun 30 Python
django 模型字段设置默认值代码
Jul 15 Python
Python道路车道线检测的实现
Jun 27 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 删除一个目录及目录下的所有文件的函数代码
2010/05/26 PHP
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
PHP中array_slice函数用法实例详解
2014/11/25 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
某页码显示的helper 少量调整,另附js版
2010/09/12 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
JavaScript每天必学之基础知识
2016/09/17 Javascript
JS实现列表页面隔行变色效果
2017/03/25 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
python格式化字符串实例总结
2014/09/28 Python
在Python中使用模块的教程
2015/04/27 Python
python中assert用法实例分析
2015/04/30 Python
详解Python中where()函数的用法
2018/03/27 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
Solaris操作系统的线程机制
2015/07/28 面试题
大学生个人自我鉴定
2013/12/03 职场文书
上班迟到检讨书
2014/01/10 职场文书
做一个有道德的人活动实施方案
2014/08/23 职场文书
教师自查自纠材料
2014/10/14 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
《青山不老》教学反思
2016/02/22 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
PHP新手指南
2021/04/01 PHP
python爬虫之爬取笔趣阁小说
2021/04/22 Python
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle