在 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个
参数 –a
并b
返回一个浮点数 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
参数
这意味着0
和1
都可以返回。
如果您需要将随机数四舍五入到 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)
。该方法采用
low
和high
参数并返回指定范围内的数字。
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
。
该方法可以返回0
和1
。
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
。