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 10 Python
详解在Python程序中解析并修改XML内容的方法
Nov 16 Python
浅析Python中元祖、列表和字典的区别
Aug 17 Python
TensorFlow如何实现反向传播
Feb 06 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
Mar 22 Python
Python实现找出数组中第2大数字的方法示例
Mar 26 Python
Python简单爬虫导出CSV文件的实例讲解
Jul 06 Python
Python实现多线程的两种方式分析
Aug 29 Python
决策树剪枝算法的python实现方法详解
Sep 18 Python
python中的数组赋值与拷贝的区别详解
Nov 26 Python
Python使用matplotlib绘制Logistic曲线操作示例
Nov 28 Python
Python使用Kubernetes API访问集群
May 30 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
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
php获取某个目录大小的代码
2008/09/10 PHP
常用的PHP数据库操作方法(MYSQL版)
2011/06/08 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
javascript中xml操作实现代码
2011/11/21 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
js+css实现导航效果实例
2015/02/10 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
Google 地图事件实例讲解
2016/08/06 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
2018/03/08 Javascript
vue检测对象和数组的变化分析
2018/06/30 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
Vue实现push数组并删除的例子
2019/11/01 Javascript
vue实现图书管理系统
2020/12/29 Vue.js
python处理cookie详解
2014/02/07 Python
Python lambda和Python def区别分析
2014/11/30 Python
Python编译成.so文件进行加密后调用的实现
2019/12/23 Python
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
营销总经理的岗位职责
2013/12/15 职场文书
门卫工作岗位职责
2013/12/17 职场文书
四下基层实施方案
2014/03/28 职场文书
员工趣味活动方案
2014/08/27 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python
Golang二维数组的使用方式
2021/05/28 Golang