当前位置: 首页 > news >正文

生成随机验证码

1   ramdom.sample 实现

from random import sample

str_u = [chr(i) for i in range(97,123)]   # 大写字母
str_l = [chr(i) for i in range(65,91)]    # 小写字母
str_n = [chr(i) for i in range(48,58)]    # 数字

str_a = str_u + str_l + str_n

num = int(input('输入验证码长度:'))

check_code = ''.join(sample(str_a, num))
print(check_code)

 

系统库string

import string   # 导入string这个模块
from random import sample,choice
print(string.digits)  # 输出包含数字0~9的字符串
print(string.ascii_letters)  # 包含所有字母(大写或小写)的字符串
print(string.ascii_lowercase)  # 包含所有小写字母的字符串
print(string.ascii_uppercase)  # 包含所有大写字母的字符串

# sample
str = string.digits + string.ascii_letters
check_code = ''.join(sample(str, 8))
print(check_code)

# choice
ch = ''
for i in range(8):
    ch += choice(str)
print(ch)

 

最终代码如下

 1 from string import ascii_letters, ascii_lowercase, ascii_uppercase, digits
 2 from random import sample, choice
 3 
 4 UPPER = ascii_uppercase
 5 LOWER = ascii_lowercase
 6 LETTER = ascii_letters
 7 DIGIT = digits
 8 ALL_STR = DIGIT + LETTER
 9 
10 def check_code1(num):
11     ch = ''
12     for i in range(num):
13         ch += choice(ALL_STR)
14     return ch
15 
16 
17 def check_code2(num):
18     ch = ''.join(sample(ALL_STR,num))
19     return ch
20 
21 num = int(input('验证码长度:'))
22 print(check_code1(num))
23 print(check_code2(num))

 

转载于:https://www.cnblogs.com/ray-mmss/p/10525475.html

相关文章:

  • 云越发展,锁定问题就会越严重?
  • 4.14Python数据处理篇之Matplotlib系列(十四)---动态图的绘制
  • componentOptions配置选项的作用和用法
  • 技本功丨收藏!斜杠青年与你共探微信小程序云开发(下篇)
  • 什么样人适合学平面设计?零门槛入门工具收藏
  • Luogu P4011 孤岛营救问题
  • 程序员修仙之路--突破内存限制的高性能排序
  • eslint 规则资料汇总
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • postman中参数设置描述
  • 一对一直播软件如何盈利?
  • 自定义PlantUML和C4Model的样式
  • Java Object类及其equals方法
  • C,java,Python,这些名字背后的江湖!
  • spring cloud微服务分布式云架构-单点登录(SSO)
  • 《Java编程思想》读书笔记-对象导论
  • ➹使用webpack配置多页面应用(MPA)
  • es6要点
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • JAVA之继承和多态
  • passportjs 源码分析
  • Spring框架之我见(三)——IOC、AOP
  • Sublime Text 2/3 绑定Eclipse快捷键
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • Webpack 4x 之路 ( 四 )
  • 码农张的Bug人生 - 初来乍到
  • 每天10道Java面试题,跟我走,offer有!
  • 那些被忽略的 JavaScript 数组方法细节
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #android不同版本废弃api,新api。
  • (1)(1.9) MSP (version 4.2)
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (SpringBoot)第二章:Spring创建和使用
  • (windows2012共享文件夹和防火墙设置
  • (论文阅读40-45)图像描述1
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)EXC_BREAKPOINT僵尸错误
  • .describe() python_Python-Win32com-Excel
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .net网站发布-允许更新此预编译站点
  • .NET中 MVC 工厂模式浅析
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @font-face 用字体画图标
  • [2016.7 day.5] T2
  • [AIGC] 如何建立和优化你的工作流?
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子
  • [Effective C++读书笔记]0012_复制对象时勿忘其每一部分
  • [git]git命令如何取消先前的配置