Python random.triangular() 方法



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