编辑:
random.random()返回0.0到1.0之间的值
如何播种超出这些界限(0.0-1.0)的数字?维基页面说种子用于“初始化”生成器。发电机对种子做了什么来使它保持在这些范围内?
我不清楚你如何使用10000这样的大#来初始化一个将值从0.0返回到1.0的函数。
答案 0 :(得分:2)
random.random()
会返回0.0
到1.0
的值,但它基于Mersenne Twister算法,这是一个完全使用整数的伪随机数生成器。调用random.random()
时,将从整数数据生成该范围内的浮点值。
根据random.seed()
的文档,当种子是int
时,它直接用作梅森捻线虫的种子。整数作为种子起作用,因为底层算法适用于整数。
您可能会对
的陈述感到困惑几乎所有模块功能都依赖于基本功能
random()
,...
这似乎指的是两件事:
random
中有很多函数可以返回浮点数。从逻辑上讲,这些都基于random.random()
。random.random()
来实现random.randrange()
和random.randint()
。与默认实现一样,不提供getrandbits()
的random.Random
子类也会这样做。