Python random.binomialvariate() 方法



Python 中的 random.binomialvariate() 方法用于生成遵循二项分布的随机数。此方法返回 n 个独立试验中的成功次数,前提是每个试验的成功概率为 p。

此 random.binomialvariate() 方法的等效数学表达式如下 -

sum(random() < p for i in range(n))

试验次数 n 必须是非负整数,并且 p 必须是介于 0 和 1(含 0 和 1)之间的概率值。这些方法可以确保生成的随机变量符合二项分布的属性,并且生成的整数必须在 0 <= X <= n 的范围内。

此方法是在 Python 版本 3.12 中引入的。如果您的 Python 版本低于 3.12,并且您尝试使用此方法,它将引发 AttributeError:模块 'random' 没有属性 'binomialvariate'。

语法

以下是 random.binomialvariate() 方法的语法 -


 random.binomialvariate(n=1, p=0.5)

参数

此方法接受以下参数 -

  • n:此参数表示独立试验或实验的数量。它必须是非负整数。
  • p:这是每次试验成功的概率。它必须是介于 0.0 和 1.0 之间的值(包括 0.0 和 1.0)。

返回值

此方法返回一个整数,该整数表示 n 次试验中的成功次数。

示例 1

以下是 random.binomialvariate() 方法的基本示例 -


import random

# number of trials
n = 10 	
# probability of success in each trial
p = 0.5 	

# Generate a random value following a binomial distribution
number_of_successes = random.binomialvariate(n, p)
print("Number of successes: ",number_of_successes)

以下是输出 -

Number of successes: 4

注意:每次执行生成的 Output 都会有所不同,因为它会返回一个随机项目。

示例 2

以下是从二项式分布生成随机数的示例。


import random

ATOMS = 1000000
DECAY_PROB = 0.1

for i in range(10):
	 	 print(random.binomialvariate(ATOMS, DECAY_PROB))

在执行上述代码时,您将获得如下所示的类似输出 -

99424
99757
99791
100213
99970
99557
100113
100077
100354
100256