0

我需要生成一个介于 0 和 7 之间的随机数。但它必须包含最多 8 位左右的小数。例如:3.54367334 或 6.3464357。我在随机模块中没有找到任何可以给我类似的东西。一切都只有整数,或者从 0 到 1(这是 random.random)。

4

3 回答 3

4

如您所见,random.random返回一个范围为 [0.0, 1.0) 的值。如果将其返回值乘以 7,则结果将在 [0.0, 7.0) 范围内。

还有一个函数 ,random.uniform在给定范围的情况下,它将为您执行此操作。

于 2012-12-31T02:25:07.897 回答
4

虽然你可以rescale random.random,但为什么不使用random.uniform呢?

>>> import random
>>> [random.uniform(0, 7) for i in range(4)]
[3.36879678022553, 1.3262017420571945, 2.961415926838038, 6.409486371437773]
于 2012-12-31T02:28:44.473 回答
0

您可以使用以下代码:

random.random() * 7

Asrandom.random给出 0 到 1.0 之间的数字,* 7将给出 (0, 7.0)

于 2020-04-03T06:26:51.407 回答