Python Random库的使用

random库用于生成随机数

基本随机数函数: seed(), random()

扩展随机数函数: randint(), getrandbits(), uniform(),

randrange(), choice(), shuffle()

seed(a=None)

初始化给定的随机数种子,默认为当前系统时间

random.seed(10) #产生种子10对应的序列

random()

生成一个[0.0, 1.0)之间的随机小数

random.random()

常用的 经过扩展的 random()方法

image.png

函数描述

randint(a, b)生成一个[a, b]之间的整数

randrange(m, n[, k])生成一个[m, n)之间以k为步长的随机整数

getrandbits(k)生成一个k比特长的随机整数

uniform(a, b)生成一个[a, b]之间的随机小数

choice(seq)从序列seq中随机选择一个元素

shuffle(seq)将序列seq中元素随机排列,返回打乱后的序列

random.randint(10, 100)64random.randrange(10, 100, 10)80random.getrandbits(16)37885random.uniform(10, 100)13.096321648808136random.choice([1,2,3,4,5,6,7,8,9])8 s=[1,2,3,4,5,6,7,8,9];random.shuffle(s);print(s)[3, 5, 8, 9, 6, 1, 2, 7, 4]

random是如何生成随机数的呢?

图一

图二

请注意图二中,左边的代码,产生了两个随机数,而那两个随机数恰好就是 图一中 序列的前两个;而右边的代码则是生成完全相同的两个随机数

所以 seed(10)  生成一个随机数序列,之后random()会按照顺序一次取出这个随机数序列中的随机数

我们什么时候会使用seed()函数呢?直接默认的用系统当前时间岂不是更好?

当我们的程序希望 生成的随机数能够 复现 的时候,那么设置 seed()函数 就会很好了,因为他生成的随机数是固定的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。