Python随机数模块详情
作者:一碗周 发布时间:2021-10-26 06:47:34
前言:
随机数模块实现了各种分布的伪随机数生成器。对于整数,从范围中有统一的选择。 对于序列,存在随机元素的统一选择、用于生成列表的随机排列的函数、以及用于随机抽样而无需替换的函数。
1、生成随机数
1.1 random.random() 方法
返回随机生成的一个实数,它在[0,1)范围内。
语法结构:
import random # 导入 random 模块
random.random()
1.2 random.randint方法
语法格式:
random.randint(a,b)
函数返回数字 N
,N
为 a
到 b
之间的数字(a <= N <= b
),包含 a
和 b
1.3 random.uniform方法
语法格式:
random.uniform(a,b)
函数返回一个随机浮点数 N
,当 a <= b
时 a <= N <= b
,当 b < a
时 b <= N <= a
。
1.4 random.randrange方法
语法结构:
random.randrange(start, stop[, step])
start: 计数从
start
开始。默认是从 0 开始。例如randrange(5)
等价于range(0, 5);
stop: 计数到
stop
结束,但不包括stop
。例如:randrange(0, 5)
是[0, 1, 2, 3, 4]
没有5step:步长,默认为1。例如:
range(0, 5)
等价于randrange(0, 5, 1)
返回一个随机范围内的数字
等价于choice(range(start, stop, step))
示例代码:
import random
random_value = random.random()
print(random_value)
randint_value = random.randint(1, 3) # 返回随机整数
print(randint_value)
uniform_value = random.uniform(1, 3) # 返回随机浮点数
print(uniform_value)
randrange_value = random.randrange(1, 100, 2) # 1到100步长为2(这里只能取到100以为的奇数)
print(randrange_value)
每次运行取到的结果都是不一样的。
2、用于序列的函数
2.1 random.choice(seq)
从非空序列中返回一个随机元素,如果序列为空,则抛出异常
示例代码:
import random
value = random.choice(range(1, 100, 2))
# 这个等于random.randrange(1, 100, 2)
print(value)
好像洗牌就要用这个方法哎
生成一个验证码的小案例:
import random
# 一个生成验证号的小案例
all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
captcha = ''
for _ in range(4):
a = random.choice(all_chars)
captcha += a # 连接字符串
print(captcha)2.2 random.shuffle()方法
shuffle(list)
方法将序列的所有元素随机排序示例代码:
import random
list1 = ["beautiful" , "cute", "beautiful", 'prefect', "beautiful", "甜甜", 'lovely']
random.shuffle(list1)
print(list1)
2.3 random.sample()方法
random.sample(sequence, k)
,从指定序列中随机获取指定长度的片断。sample
函数不会修改原有序列。切片长度不能超过原有的长度,否则会抛出异常
示例代码:
import random
list1 = ["beautiful", "cute", "beautiful", 'prefect', "beautiful", "甜甜", 'lovely']
list2 = random.sample(list1, len(list1))
print("原列表:", list1)
print("新列表:", list2)
这个方法可以给原序列排序并不破坏原有序列
来源:https://juejin.cn/post/7024054686206410783
猜你喜欢
- 变量类型ECMAScript变量可能包含两种不同类型的数据值:基本类型和引用类型。基本类型基本类型指的是简单的数据段,5种基本数据类型:un
- 1、什么是混淆矩阵深度学习中,混淆矩阵是ROC曲线绘制的基础,同时它也是衡量分类型模型准确度中最基本,最直观,计算最简单的方法。它可以直观地
- 前面介绍过vSQLAlchemy中的 Engine 和 Connection,这两个对象用在row SQL (原生的sql语句)上操作,而
- 前言昨天团队的学妹来问关于POP3协议的问题,所以今天稍稍研究了下POP3协议的格式和Python里面的poplib。而POP服务器往回传的
- 数据初始化import pandas as pdimport numpy as npa=np.array([['北京',
- 1、PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了
- 在NumPy中,矩阵是 ndarray 的子类,与数学概念中的矩阵一样,NumPy中的矩阵也是二维的,可以使用 mat 、 matrix 以
- 引言python的一个优势是有着大量自带和在线的模块(module)资源,可以提供丰富的功能,在使用这些模块的时候,如果每次都去网站找在线文
- SessionMiddleware 激活后,每个传给视图(view)函数的第一个参数``HttpRequest`` 对象都有一个 sessi
- 上篇博客转载了关于感知器的用法,遂这篇做个大概总结,并实现一个简单的感知器,也为了加深自己的理解。感知器是最简单的神经网络,只有一层。感知器
- 在本文中,我们将探讨一种简洁的方式,以此来可视化你的MP3音乐收藏。此方法最终的结果将是一个映射你所有歌曲的正六边形网格地图,其中相似的音轨
- 由于办公需要“每天定时推送某消息用来提醒群里面所有人”,有同事提议用企业微信自带的机器人来实现此功能。我觉得企业微信的这个工具还不错,具体使
- 编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个
- Book表的数据显示id title price publish_id2 Linux &nb
- 缘起simple-todo最早是web.py一个中文教程的例子。后来Uliweb的作者limodou 认为这个教程很不错,于是有了Uliwe
- asp三天学好ADO对象之第一天 今天说一下Recordset 对象的属性1、CursorType 属性AdOpenForwardOnly:
- 注意:index.html再次声明变量的时候注意空格的问题来源:https://blog.csdn.net/guofeng93/articl
- 如何做一个看他爱不爱你的小测验?<%CurQ = Request.Form("CurQ")An
- 这篇论坛文章(赛迪网技术社区)着重介绍了有关SQL注入防御的防御策略及实施步骤,详细内容请参考下文:从去年下半年开始,很多网站被损害,他们在
- 从前有三只小猪,长大自立了分别造房子住。老大搬来草堆堆出草屋,老二搬来木头搭出木屋,老三搬来砖头,砌墙,造烟囱,造出了坚固的砖房。一天晚上大