投掷骰子的概率

n = 5
k = 3

x = 1
for i in range(1,n + 1):
   x = x * i

y = 1
for i in range(1,k + 1):
   y = y * i

z = 1
for i in range(1,n - k + 1):
   z = z * i

c = x / (y * z)

p = 1
for i in range(k):
   p = p * (1 / 6)

q = 1
for i in range(n - k):
   q = q * (5 / 6)

result = c * p * q

因此,下面的代码计算投掷5个骰子时恰好看到3个6的概率。但是,我不确定这段代码中的循环。

我知道:

n = number of trials
k = number of successes
And p/q success/failure?

但是循环在做什么,我不确定变量x,y,z和c。传统上,我只会使用能力来获取此类问题的答案,但我不确定这种方法。

谢谢

xty2004 回答:投掷骰子的概率

似乎c是二项式系数,用于该概率计算。 并使用循环来计算所需的阶乘(x为n!,y为k!,z为(n-k)!)。

p和q的循环确实用于计算成功/失败概率的幂。

使用powmath.factorial

,此代码会更好
本文链接:https://www.f2er.com/3145302.html

大家都在问