Python 中的 random.triangular() 方法在参数 low 和 high 定义的范围内生成一个随机浮点数。此函数服从三角分布,其中值分布在最小值 (低) 和最大值 (高) 之间,峰值位于模式。这意味着更有可能选择接近模式的值,但 low 和 high 之间的所有值都是可能的。
默认情况下,low 和 high 参数分别设置为 0 和 1,并且 mode 设置为 low 和 high 之间的中点,从而产生对称分布。
语法
以下是 triangular() 方法的语法 -
random.triangular(low, high, mode)
参数
Python random.triangular() 方法接受以下参数 -
- low:分布的下限。
- high:分布的上限。
- mode:介于 low 和 high 之间的最可能的值(分布峰值)。
返回值
这个 random.triangular() 方法返回一个遵循三角分布的随机浮点数。
示例 1
让我们看一个使用 random.triangular() 方法生成单个随机浮点数的基本示例。
import random
# Parameters
low = 0
high = 100
# Generate a single random floating point number
random_value = random.triangular(low, high)
print("Generated random floating point number:", random_value)
以下是输出 -
Generated random floating point number: 50.941793194646195
注意:由于程序的随机性,每次运行程序时生成的 Output 都会有所不同。
示例 2
此示例使用 random.triangular() 方法生成随机浮点数列表。每个结果值都遵循 0 到 100 之间的三角分布,峰值(众数)为 10。
import random
# Parameters
low = 0
high = 100
mode = 5
# Generate multiple random floating point numbers
random.seed(100)
sample = [random.triangular(low, high, mode) for _ in range(10)]
print("Generated random floating point number:", sample)
在执行上述代码时,您将获得如下所示的类似输出 -
Generated random floating point number: [9.910366431476916, 28.04033451219499, 53.33573266149688, 47.107426380192706, 49.53823470998988, 26.64052298105129, 56.413239886033786, 33.38591319476359, 6.519842946194032, 28.107621205331426]
示例 3
这是另一个示例,它使用 random.triangular() 方法从 0 到 100 之间的三角分布生成 1000 个随机浮点数的列表,峰值(模式)更接近 95。然后,它会计算并打印这些数字的平均值。
import random
# Parameters
low = 0
high = 100
mode = 95 # Closer to high
# Generate a sample
random.seed(100)
sample = [random.triangular(low, high, mode) for _ in range(1000)]
# Display the average
print('Average:', round(sum(sample) / len(sample), 2))
上述代码的输出如下 -
Average: 63.96