重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
PYTHON中的伪随机数发生器用的是梅森旋转算法。
创新互联公司联系热线:028-86922220,为您提供成都网站建设网页设计及定制高端网站建设服务,创新互联公司网页制作领域十余年,包括成都酒店设计等多个行业拥有丰富设计经验,选择创新互联公司,为网站保驾护航!
梅森旋转算法(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(不是素数)等等。
#导入随机数模块
import random
#定义一个空的数组,用作取样表
reList = []
#为取样表赋值,1~100
for i in range(1,101):
reList.append(i)
#使用sample方法,取3个随机数
res = random.sample(reList,k=3)
print("三个随机数是:{}".format(res))
举例说明:从集合中随机获得10个数
1、定义一个列表集合iRandom = []
2、向iRandom中插入1-60,共60个数字
3、打乱列表顺序
4、截取列表前10个数,即为随机获取到的列表集合随机数
import random
iRandom = [] #定义随机数列表
listRandom = list(range(1,61)) #生成整数型1-60的列表组合
random.shuffle(listRandom) #打乱列表顺序
iRandom = listRandom[0:10] #截取打乱后的前10个值,赋值给新列表iRandom
print('随机列表组合:',iRandom)
python随机产生一堆数字并输出的方法:
通过for循环语句多次执行for循环里面的“random.randint()”函数产生随机数。将产生的随机数赋值给变量,输出这个变量就可以了
执行结果如下:
更多Python知识,请关注:Python自学网!!