在 Python 中生成一个介于 0 和 1 之间的随机数

在 Python 中生成一个介于 0 和 1 之间的随机数

Generate a random Number between 0 and 1 in Python

使用该random.uniform()方法生成一个介于 0 和 1 之间的随机数,例如random_number = random.uniform(0, 1)random.uniform()方法生成指定范围内的随机浮点数。

主程序
import random random_number = random.uniform(0, 1) print(random_number) # 👉️ 0.7177846810965778 random_number = round(random.uniform(0, 1), 2) print(random_number) # 👉️ 0.61

random.uniform
方法接受 2

参数 –
ab返回一个浮点数 N 使得a <= N <= b.

换句话说,该方法生成指定范围内的浮点数。

主程序
import random print(random.uniform(0, 1)) # 👉️ 0.5789307823176967 print(random.uniform(0, 1)) # 👉️ 0.06586603609248465 print(random.uniform(0, 1)) # 👉️ 0.4967508913002926

生成的数字是:

  • 等于或大于a参数
  • 等于或小于b参数

这意味着01都可以返回。

如果您需要将随机数四舍五入到 N 位小数,请使用该round()
函数。

主程序
import random random_number = round(random.uniform(0, 1), 2) print(random_number) # 👉️ 0.48 random_number = round(random.uniform(0, 1), 3) print(random_number) # 👉️ 0.465 random_number = round(random.uniform(0, 1), 4) print(random_number) # 👉️ 0.2756

round函数采用以下 2 个参数

姓名 描述
number 要舍入到ndigits小数点后精度的数字
ndigits 小数点后的位数,运算后的数字应该有(可选)
round函数返回四舍五入到小数点后的精度的数字。 ndigits

如果ndigits省略,函数返回最接近的整数。

如果您需要获取 和 之间的随机数列表0,请1使用列表理解。

主程序
import random random_numbers = [ random.uniform(0, 1) for _ in range(3) ] # 👇️ [0.675496513301323, 0.24852664726595441, 0.09112507946266457] print(random_numbers) random_numbers = [ round(random.uniform(0, 1), 2) for _ in range(3) ] # 👇️ [0.71, 0.14, 0.76] print(random_numbers)

我们使用列表理解来迭代range长度为 N 的对象。

列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。

range类通常用于在循环中循环特定次数for

主程序
print(list(range(2))) # 👉️ [0, 1] print(list(range(3))) # 👉️ [0, 1, 2]

我们使用下划线_作为变量名称。有一种约定,使用下划线作为我们不打算使用的占位符变量的名称。

在每次迭代中,我们使用该random.uniform()方法生成一个介于 0 和 1 之间的随机数并返回结果。

或者,您可以使用该numpy.random.uniform()方法。

使用 numpy 生成一个介于 0 和 1 之间的随机数

使用该numpy.random.uniform()方法生成一个介于 0 和 1 之间的随机数,例如random_number = np.random.uniform(low=0, high=1)该方法采用
lowhigh参数并返回指定范围内的数字。

主程序
import numpy as np random_number = np.random.uniform(low=0, high=1) print(random_number) # 👉️ 0.055441564589980175 random_number = round(np.random.uniform(low=0, high=1), 2) print(random_number) # 👉️ 0.29

numpy.random.uniform

方法从均匀分布中抽取样本

返回指定范围内的任何值的可能性相同。

关键字参数表示下low边界。生成的值大于或等于low

high关键字参数是上边界生成的值小于或等于high

该方法可以返回01

numpy.random.uniform()方法采用可选参数,以防您需要生成 0 到 1 之间的随机数数组。 size
主程序
import numpy as np random_numbers = np.random.uniform(low=0, high=1, size=2) print(random_numbers) # 👉️ [0.33359291 0.87832296] random_numbers = np.random.uniform(low=0, high=1, size=2).tolist() print(random_numbers) # 👉️ [0.6215860233331146, 0.18323951937693983]


如果需要将数组转换为列表,
可以使用
tolist方法。

您还可以使用该random.random()方法生成一个介于0和之间的随机数1

使用 random.random() 生成一个介于 0 和 1 之间的随机数

使用该random.random()方法生成一个介于 0 和 1 之间的随机数,例如random_number = random.random()random.random()方法返回 [0.0, 1.0) 范围内的随机浮点数。

主程序
import random random_number = random.random() print(random_number) # 👉️ 0.40401213163153504 random_number = round(random.random(), 2) print(random_number) # 👉️ 0.31

random.random数返回 range 中的
下一个随机浮点数
[0.0,1.0)

该方法可以返回0,但它永远不会返回1