python中的随机数是怎么实现的

 我来答
zhangsonglin_c
高粉答主

2020-12-01 · 醉心答题,欢迎关注
知道大有可为答主
回答量:3.7万
采纳率:83%
帮助的人:7013万
展开全部
PYTHON中的伪随机数发生器用的是梅森旋转算法。
梅森旋转算法(Mersenne twister)是一个伪随机数发生算法。由松本真和西村拓士在1997年开发,基于有限二进制字段上的矩阵线性递归。可以快速产生高质量的伪随机数,修正了古典随机数发生算法的很多缺陷。
梅森旋转算法是R、Python、Ruby、IDL、Free Pascal、PHP、Maple、Matlab、GNU多重精度运算库和GSL的默认伪随机数产生器。从C++11开始,C++也可以使用这种算法。
整个算法主要分为三个阶段:获得基础的梅森旋转链;对于旋转链进行旋转算法;对于旋转算法所得的结果进行处理。
算法实现的过程中,参数的选取取决于梅森素数,故此得名。
梅森素数由梅森数而来。所谓梅森数,是指形如2↑p-1的一类数,其中指数p是素数,常记为Mp 。如果梅森数是素数,就称为梅森素数。
例如4-1=3,8-1=7,16-1=15(不是素数),32-1=31,64-1=63(不是素数)等等。
雍甲吟霜
2020-12-28 · TA获得超过104个赞
知道答主
回答量:165
采纳率:100%
帮助的人:8.3万
展开全部
Python产生随机数:
一.Python自带的random库
1.参生n--m范围内的一个随机数: random.randint(n,m)

2.产生0到1之间的浮点数: random.random()

3.产生n---m之间的浮点数: random.uniform(1.1,5.4)

4.产生从n---m间隔为k的整数: random.randrange(n,m,k)

5.从序列中随机选取一个元素: random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])

6.在一些特殊的情况下可能对序列进行一次打乱操作: random.shuffle([1,3,5,6,7])
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式