Python随机数random模块使用指南

来源:本网整理

是的,是伪随机数,如果你用 random.seed(22),就能看到每次开始程序时的随机数都是一样的.所以你就能生成一模一样的随机数数列www.zgxue.com防采集请勿采集本网。

s">

Python随机数random模块使用指南

作者:标点符 字体:[增加 减小] 类型:转载 时间:2016-09-09 我要评论 本文给大家分享的是Python随机数random模块的几个常用的方法,非常的简单,小伙伴们喜欢的话,后续继续深入探讨 ">

random 模块是Python自带的模块,除了生成最简单的随机数以外,还有很多功能。

保存到列表里面,然后调用sort就可以帮你排序了

random.random()

随机种子我们知道计算机无法产生真正的随机数,是通过算法产生的伪随机数,但具有类似于真正随机数的统计特征,如均匀性、独立性等。随机种子的作用在于给定这个产生随机数算法的初值。给定后会影响以后

用来生成一个0~1之间的随机浮点数,范围[0,10

在python中的random.randint(a,b)用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n:a。print random.randint(12,20)#生成的随机数n:12 print random.randint(20,20)#

>>> import random>>> random.random()0.5038461831828231

a=range(1000) random.sample(a,5) [394,111,89,413,402]

random.uniform(a,b)

你好,有两知个办法: 一个是自道己写一个内函数 def Nweibull(a,size,scale) return scale*numpy.random.weibull(a,size) 另外一个是换一个库,用scipy.stats.weibull_min,他需要容三个参数

返回a,b之间的随机浮点数,范围[a,b]或[a,b),取决于四舍五入,a不一定要比b小。

>>> random.uniform(50,100)76.81733455677832>>> random.uniform(100,50)52.98730193316595

random.randint(a,b)

返回a,b之间的整数,范围[a,b],注意:传入参数必须是整数,a一定要比b小

>>> random.randint(50,100)54>>> random.randint(100,50) Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> random.randint(100,50) File "C:\Python27\lib\random.py", line 242, in randint return self.randrange(a, b+1) File "C:\Python27\lib\random.py", line 218, in randrange raise ValueError, "empty range for randrange() (%d,%d, %d)" % (istart, istop, width)ValueError: empty range for randrange() (100,51, -49)>>> random.randint(50.5,100.6) Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> random.randint(50.5,100.6) File "C:\Python27\lib\random.py", line 242, in randint return self.randrange(a, b+1) File "C:\Python27\lib\random.py", line 187, in randrange raise ValueError, "non-integer arg 1 for randrange()"ValueError: non-integer arg 1 for randrange()

random.randrang([start], stop[, step])

返回有个区间内的整数,可以设置step。只能传入整数,random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。

>>> random.randrange(100)58>>> random.randrange(10,100,2)54

random.choice(sequence)

从序列中随机获取一个元素,list, tuple, 字符串都属于sequence。这里的sequence 需要是有序类型。random.randrange(10,100,2)在结果上与 random.choice(range(10,100,2) 等效。

>>> random.choice(("stone","scissors","paper"))'stone'>>> random.choice(["stone","scissors","paper"])'scissors'>>> random.choice("Random")'m'

random.shuffle(x[,random])

用于将列表中的元素打乱,俗称为洗牌。会修改原有序列。

>>> poker = ["A","2","3","4","5","6","7","8","9","10","J","Q","K"]>>> random.shuffle(poker)>>> poker['4', '10', '8', '3', 'J', '6', '2', '7', '9', 'Q', '5', 'K', 'A']

random.sample(sequence,k)

从指定序列中随机获取k个元素作为一个片段返回,sample函数不会修改原有序列。

>>> poker = ["A","2","3","4","5","6","7","8","9","10","J","Q","K"]>>> random.sample(poker,5)['4', '3', '10', '2', 'Q']

上述几个方式是Python常用的一些方法,但是关于随机数还有很多的故事。下回分解~

random.randint(1,100)随机数中是包括1和100的。python中对random.randint()的源码解释如下def randint(self,a,b):"Return random integer in range[a,b],including both end points.翻译过来就是返回值是在[a,b]区间的随机数(integer类型),其中包括 a和 b。扩展资料:Python 是一个有条理的和强大的面向对象的程序设计语言,类似于Perl,Ruby,Scheme,或 Java.Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。参考资料:百度百科-Python内容来自www.zgxue.com请勿采集。

免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
Copyright © 2017 www.zgxue.com All Rights Reserved