"""

作者:白

时间:2018年1月8日

功能: 生成随机4位验证码(必须由两个2字母和2个数字组成)

"""

import random

def main():

list_num = [1,2,3,4,5,6,7,8,9,0]

list_str = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','s','t','x','y','z']

veri_str = random.sample(list_str,2)

veri_num = random.sample(list_num,2)

veri_out = random.sample(veri_num + veri_str,4)

veri_res = str(veri_out[0]) + str(veri_out[1]) + str(veri_out[2]) + str(veri_out[3])

print(veri_res)

if __name__ == '__main__':

main()

这里有两个问题:

1、如何简化list_str 生成一个a-z的列表,这里我就用比较笨的方法一个一个列出来了

2、不知道python有没有一键式的函数,生成验证码的那种

如知道以上两个问题的,可以留言告诉我一下,不胜感激!~

对于上面的问题,经过昨天下午的测试和练习以不同函数分开的方法拼接而成,这样方便后面对于不同模块的使用。

版本二:"""

作者:白

日期:2018年1月8日

功能:利用random/chr()/ord()生成一个4位随机数(包含大小写字母和数字)

chr(x) 将一个整数转换为一个字符

ord(x) 将一个字符转换为它的整数值

"""

import random

veri_list = []

#通过chr()函数取随机大写字母A-Z

def A_str():

for i in range(4):

veri_num1 = random.randint(65,90) #取值65-90随机一个整数

veri_str1 = chr(veri_num1)

veri_list.append(veri_str1)

#通过chr()函数取随机小写字母a-z

def a_str():

for i in range(4):

veri_num2 = random.randint(97,122) # 取值98-122随机一个整数

veri_str2 = chr(veri_num2) # 转换小写字母a-z的随机

veri_list.append(veri_str2)

#通过chr()和ord()函数取随机数字0-9

def num_1():

for i in range(4):

veri_num3 = random.randint(48,57)

veri_str3 = chr(veri_num3)

veri_list.append(veri_str3)

#执行主函数

def main():

A_str()

a_str()

num_1()

veri_res = random.sample(veri_list,4)

# print(veri_res)

print(str(veri_res[0]) + str(veri_res[1]) + str(veri_res[2]) + str(veri_res[3]))

if __name__ == '__main__':

main()

版本三:"""

作者:白

日期:2018年4月15日

功能:利用random/chr()/ord()生成一个8位随机数(包含大小写字母和数字和特殊字符)

chr(x) 将一个整数转换为一个字符

ord(x) 将一个字符转换为它的整数值

"""

import random

veri_list = []

# 通过chr()函数取随机大写字母A-Z

def A_str():

for i in range(2):

veri_num1 = random.randint(65, 90) # 取值65-90随机一个整数

veri_str1 = chr(veri_num1)

veri_list.append(veri_str1)

# 通过chr()函数取随机小写字母a-z

def a_str():

for i in range(2):

veri_num2 = random.randint(97, 122) # 取值98-122随机一个整数

veri_str2 = chr(veri_num2) # 转换小写字母a-z的随机

veri_list.append(veri_str2)

# 通过chr()和ord()函数取随机数字0-9

def num_1():

for i in range(2):

veri_num3 = random.randint(48, 57)

veri_str3 = chr(veri_num3)

veri_list.extend(veri_str3)

#通过列表生成随机特殊字符

def s_str():

tstr = ['!', '@', '#', '$', '%', '&', '_']

veri_num4 = random.sample(tstr,2)

veri_list.extend(veri_num4)

# 执行主函数

def main():

A_str()

a_str()

num_1()

s_str()

res_str=random.sample(veri_list,8)

print(''.join(res_str))

if __name__ == '__main__':

main()

python随机生成4位验证码并判断是否正确_利用Python生成随机4位验证码相关推荐

  1. python编写递归函数、求斐波那契数列_利用Python实现斐波那契数列的方法实例

    今天我们来使用Python实现递归算法求指定位数的斐波那契数列 首先我们得知道斐波那契数列是什么? 斐波那契数列又叫兔子数列 斐波那契数列就是一个数列从第三项开始第三项的值是第一项和第二项的和依次类推 ...

  2. python通过内置的什么函数打开一个文件_利用python进行文件操作

    这篇文章主要介绍了如何利用python进行文件操作,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 什么是文件 文件是系统存储区域的一个命名位置,用来存储一些信息,便于后续访问.能够在非 ...

  3. python判断邮箱格式是否正确_利用Python正则表达式模块,对邮箱帐号格式正确性校验(以QQ邮箱为例)...

    ''' 非纯数字邮箱(@qq.com,@foxmail.com)?? a.1 您的邮箱帐号应该由a-z的英文字母(不区分大小写)开头: a.2 可由英文字母.0-9的数字(但不能使用全数字).点.减号 ...

  4. python实现录音并去燥_python实现录音并去燥_利用Python进行录音和音频分析

    pyaudio简介 Python有个很强大的处理音频的库pyqudio, 使用pyaudio库可以进行录音,播放,生成wav文件等等.更多介绍可以查阅官方文档. pyaudio安装 各平台安装方法 w ...

  5. python爬取王者皮肤别人可以看见效果吗_利用python爬取王者荣耀英雄皮肤图片

    前两天看到同学用python爬下来LOL的皮肤图片,感觉挺有趣的,我也想试试,于是决定来爬一爬王者荣耀的英雄和皮肤图片. 然后,简单的分析一下结构,看看是否有反爬机制. 之后,在上网查阅资料后,发现所 ...

  6. python计算并返回任意多个整数的和_利用Python的多重处理方法计算一个长输入lin的整数和...

    使用Unix系统的一个名为forking的功能,您可以从父进程读取(而不是写入)数据,开销为零.通常,您将不得不复制数据,但是在Unix中分叉一个进程允许您绕过这个问题. 使用此方法,池中的作业可以访 ...

  7. python如何自动打印_利用Python每天自动打印练习题

    在日常教学工作中,我几乎每天都会给班上的每位同学打印一份口算练习题.为了防止出现抄袭的现象,给每位同学的练习题都不相同. 通过网上下载的一个小软件自动生成的练习题. 之前的操作是通过网上下载的软件,自 ...

  8. 如何用python赚钱_利用python能怎么挣钱

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 6年python,期间写了各种奇葩爬虫,挣各种奇葩的钱,写这篇文章总结下几种爬虫 ...

  9. python文字验证码识别_利用python进行验证码识别(预处理部分)

    # -*- coding: utf-8 -*- """Created on Thu Feb 1 15:52:05 2018@author: Administrator&q ...

  10. 如何用python自动改试卷_利用Python和Jinja2自动生成试卷

    一.概述 Jinja2是Python 3下一个被广泛应用的模版引擎,它的设计思想来源于Django的模板引擎,并扩展了其语法和一系列强大的功能.其中最显著的一个是增加了沙箱执行功能和可选的自动转义功能 ...

最新文章

  1. [转载] linux、Solaris下xdmcp远程桌面服务
  2. Hibernate和iBATIS 优缺点比较
  3. Python-EEG工具库MNE中文教程(1)-MNE中数据结构Raw及其用法简介
  4. java qq登录界面_用java实现QQ登录界面怎么写
  5. 【windows gdi+】GDI+ Image类加载图片时异常问题处理与分析
  6. android自动生成cardview,学习使用Material Design控件(三)使用CardView实现卡片效果...
  7. 非负矩阵分解推导(NMF)
  8. 惠普服务器c盘格式化提示win7系统盘,通过U盘重装系统,已经格式化C盘提示如下...
  9. 人脸识别的Python库
  10. Windows10使用Anaconda安装TensorFlow-GPU
  11. 【TSP】基于matlab遗传和模拟退火算法求解旅行商问题【含Matlab源码 696期】
  12. Visio画图删去四周白边
  13. MATLAB编程算矩阵,MatLab矩阵计算
  14. SuperMap iClient3D for WebGL制作立体地图
  15. FTP成功连接服务器后,出现乱码问题
  16. STM32 Roadshow 更新 | 生态伙伴演讲定档
  17. linux超时设置函数,I/O操作上设置超时之alarm闹钟法
  18. 经典SQL学习笔记 (二)-单行函数
  19. 瑞萨 RA2E1 触摸按键使用例程
  20. 计算机科学概论第三版重点,计算机科学概论重点.doc

热门文章

  1. 【Win10系统自带软件】文件系统错误(-2147219196)解决方法
  2. 赛门铁克symantec的安装与卸载-附下载地址(本人亲测)
  3. 零基础学前端系列教程 | 和前端谈恋爱的第005天——约会账单
  4. 【云原生Docker系列第二篇】Docker容器管理(我在人间贩卖黄昏,只为带着星光照耀你)
  5. 关于开源云计算平台软件的一些个人想法
  6. 张飞硬件90天学习笔记——第01天个人记录,完整请看我的个人简介/主页
  7. SKlearn - ValueError: Unknown label type: 'continuous'
  8. 108. 将有序数组转换为二叉搜索树
  9. Windows中的键盘快捷方式大全
  10. apk+html启动页,案例——APP启动页