Python中的random函数实例详解

作者:Hello&&world 时间:2021-01-09 13:01:49 

Python中的random函数

random模块提供生成伪随机数的函数,在使用时需要导入random模块

1. random.random()
最基本的随机函数,返回一个[0.0,1.0)之间的随机小数

2.random.uniform(a,b)
在指定范围内生成随机小数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: b <= n <= a;如果 a <b, 则 a <= n <= b

3.random.randint(m,n)
用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

4.random.choice(sequence)
从序列中获取一个随机元素,list, tuple, 字符串都属于sequence。

5.random.sample(sequence,count)
从指定序列中获取指定个数的随机元素。sample函数不会修改原有序列。

6.random.randrange([start], stop[, step])
从指定范围内,按指定基数递增的集合中获取一个随机数。

7.random.shuffle(list)
将一个列表内的元素顺序打乱,随机排列

随机生成6位验证码

要求:每个字符可以是大写字母、小写字母或数字,有且只能是这三种类型中的一种。

思路:

大写字母、小写字母或数字对应的ASCII表chr()函数擅长利用random函数

Python中的random函数实例详解

由图可知:
字符0-9对应的是48-57
字符A-Z对应的是65-90
字符A-Z对应的是97-122

import random
list5=[]
for i in range(0,2):
   list5.append(random.sample([chr(random.randint(65,90)),
       chr(random.randint(48,57)),chr(random.randint(97,122))],3))
str5=''.join(list5[0]+list5[1])
print("生成的验证码为:"+str5)

因为要生成6个随机数,但是生成的类型是三种,所以可以用random.sample()函数(得出的是一个列表),让其循环两次,此时得出来的是两个列表,可以用+进行拼接,然后用join()函数将其转化为字符串的类型。(转化为字符串类型是为了好看美观)

若使用random.choice()函数的话,需要循环6次,但是不用使用列表拼接了

import random
list5=[]
for i in range(0,6):
   list5.append(random.choice([chr(random.randint(65,90)),
       chr(random.randint(48,57)),chr(random.randint(97,122))]))
str5=''.join(list5)
print("生成的验证码为:"+str5)

结语:这是我目前想到最简便的方法啦,如果大家有好的想法,还望不吝赐教~~

来源:https://blog.csdn.net/m0_51526532/article/details/121270833

标签:Python,random,函数
0
投稿

猜你喜欢

  • XML的语法、结构以及相关的一些技术

    2007-10-23 07:27:00
  • python Django模板的使用方法(图文)

    2022-03-30 04:23:52
  • 关于Python3 lambda函数的深入浅出

    2023-01-12 09:12:41
  • FrontPage2002简明教程三:网页布局

    2008-09-17 11:19:00
  • tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法

    2021-08-11 11:43:55
  • python函数参数*args**kwargs用法实例

    2021-03-25 14:19:41
  • 对Python Pexpect 模块的使用说明详解

    2022-10-24 02:14:09
  • SQLSERVER查询所有数据库名,表名,和字段名的语句

    2012-01-29 18:07:44
  • 安装MySQL5.0后出现1607异常的解决办法

    2009-02-26 15:52:00
  • Python如何使用Gitlab API实现批量的合并分支

    2023-01-31 18:17:45
  • Python+OpenCV目标跟踪实现基本的运动检测

    2023-05-14 14:30:54
  • 网页栅格系统研究:蛋糕的切法

    2008-10-24 17:07:00
  • python图像常规操作

    2022-12-28 18:21:52
  • 简单有效上手Python3异步asyncio问题

    2022-01-14 02:28:34
  • python扫描proxy并获取可用代理ip的实例

    2023-07-29 16:42:50
  • 使用Python更换外网IP的方法

    2021-01-25 04:25:46
  • python求质数的3种方法

    2023-02-12 04:07:54
  • JS数组方法汇总

    2009-08-03 14:06:00
  • python 划分数据集为训练集和测试集的方法

    2023-01-10 12:18:36
  • 如何让用户再次访问我的网站时不需再提交相关信息?

    2010-05-16 15:05:00
  • asp之家 网络编程 m.aspxhome.com