随机生成验证码实例

news/2024/6/18 21:35:07 标签: 算法, 开发语言, python
  • random模块中函数
  • 随机生成验证码(由数字和字母组成)

一,random模块中的函数

random()函数,从[0,1)中随机生成一个浮点数,然后作为返回值。

def random() -> float


random() -> x in the interval [0, 1).

randint()函数,从[a,b]中随机生成一个整数,包括a,b。返回值为一个整数。

def randint(a: int,b: int) -> int


Return random integer in range [a, b], including both end points.

randrange()函数,从[start,stop)中随机生成一个整数,返回值为一个整数。

def randrange(start: int,stop: int | None = None,step: int = 1) -> int


Choose a random item from range(stop) or range(start, stop[, step]).

choice()函数,从一个非空序列中随机选取一个值,作为返回值返回。非空序列可以是列表,元组。不可以是字典,传字典的化会报错。

def choice(seq: SupportsLenAndGetItem[_T@choice]) -> _T@choice


Choose a random element from a non-empty sequence.

sample()函数,随机从非空序列中选择k个值,将k个值放在一个列表中,然后返回这个列表。

def sample(population: Sequence[_T@sample], k: int, *,counts: Iterable[int] | None = None
) -> list[_T@sample]


Chooses k unique random elements from a population sequence.

 uniform()函数,从(a,b)中随机生成一个浮点数作为返回值返回。

def uniform(a: float,b: float) -> float


Get a random number in the range [a, b) or [a, b] depending on rounding.

 shuffle() 函数,对一个列表X中的元素进行随机打乱"洗牌",但是没有返回值。

shuffle(x: MutableSequence[Any]) -> None


Shuffle list x in place, and return None.

基本上random模块中通用的函数是讲完了,当然还有好奇心的话就自己慢慢的敲出来看看返回值是什么,个人认为敲出来,然后看结果才能留下印象。

下面上代码:

import random


print(random.random())  # 随机生成(0~1)的浮点数

print(random.randint(1,10)) # 随机生成[1,10] 范围内的整数
print(random.randrange(1,10)) # 随机生成[1,10) 范围内的整数
print(random.choice(['111','abcd',['666','zhangsan']])) # 从一个非空序列中选择一个值 返回值为字符串

print(random.sample(['111','abcd',['666','zhangsan']],2))  # 从非空序列中选择k个值,然后返回一个列表

print(random.uniform(1,3)) # 在(1,3)中返回一个随机的浮点数
item = ['111','abcd',['666','zhangsan']]
random.shuffle(item)
print(item) # 对item 序列进行打乱"洗牌"

 0.3362076517821051
3
7
abcd
['abcd', ['666', 'zhangsan']]
1.224731057539452
['111', 'abcd', ['666', 'zhangsan']]
请按任意键继续. . .

二,随机生成验证码实例

 随机生成验证码应该存在三步:1,随机生成一个0~9的数字;2,随机生成一个大写的英文字母;3,将随机生成的数字或者字母拼接在一起然后返回。

随机生成的数字 = random.rangint(0,9)

随机生成的字母 = chr(random.randrange(65,91)

通过choic()函数,随机从生成的数字和字母中的选择一个作为拼接的字符串。循环几次的话就可以拼接一个随机生成的验证码了

那么讲解完了就上代码吧

def mark_code(size = 5):
    res = ''
    for long in range(size):
        number = str(random.randint(0,9)) # 随机生成[0,9]之间的整数
        character = chr(random.randrange(65,91))
        s = random.choice([number,character])
        res += s
    return res

mark = mark_code()
print(mark)

E9B8N
请按任意键继续. . . 


http://www.niftyadmin.cn/n/5123149.html

相关文章

【tio-websocket】9、服务配置与维护—TioConfig

场景 我们在写 TCP Server 时,都会先选好一个端口以监听客户端连接,再创建N组线程池来执行相关的任务,譬如发送消息、解码数据包、处理数据包等任务,还要维护客户端连接的各种数据,为了和业务互动,还要把这些客户端连接和各种业务数据绑定起来,譬如把某个客户端绑定到一…

Linux系统编程07

线程 为什么有了进程还需要线程 进程切换的时候会花费很大的代价 (1)上下文切换,CPU寄存器需要切换 (2)虚拟地址和物理地址的映射需要切换 进程间通信麻烦 线程是轻量级的进程 (1)线程是一个正…

JWT的登录认证与自校验原理分析

目录 一、JWT的概述 1.什么是JWT? 2.JWT的用户认证 3.JWT解决了什么问题? 4.关于JWT中的签名如何理解? 5.JWT的优势 二、JWT的结构 1.令牌的组成: 2.JWT的工具类 3.JWT所需的依赖 4.JWT登录生成Token的原理 三、JWT的自…

python常见的异常处理函数

python常见的异常处理函数 Python 的异常处理主要通过 try,except,finally,和 raise 关键字来实现。 1. try/except 这是 Python 中最常用的异常处理机制。try 块中的代码尝试执行,如果遇到任何异常,程序的控制流就会…

怎么禁止用户点击f12查看数据,查看网页代码

方案一、禁止网页的右键打开,漏洞:按12能打开 document.addEventListener("contextmenu", function(event){event.preventDefault();}); 方案二、禁止用按f12键,漏洞:多次按f12还是能打开 document.onkeydown functio…

Kubernetes 100个常用命令!点赞收藏一键三连

文章目录 集群信息:Pod 诊断:Pod 健康检查:Service 诊断:Deployment 诊断:StatefulSet 诊断:ConfigMap 和 Secret 诊断:命名空间诊断:资源使用情况:网络诊断:…

讯飞输入法13.0发布,推出行业首款生成式AI输入法

🦉 AI新闻 🚀 讯飞输入法13.0发布,推出行业首款生成式AI输入法 摘要:科大讯飞在2023年全球开发者节上发布了全新讯飞输入法13.0版本,其中最大的亮点是推出了行业首款生成式AI输入法。这次升级将生成式AI能力融入输入…

Windows一些基础设置

开机自启动 方法一: 1、首先按下键盘上的“Wini”打开设置窗口,在左边找到并进入“应用”; 2、接着在右侧点击并进入“启动”设置。 3、在启动应用下,将不需要开机自启动的软件给关掉。 方法二: 1、按CtrlShiftEs…