Python 掷骰子的概率

Python 掷骰子的概率,python,python-3.x,math,statistics,Python,Python 3.x,Math,Statistics,因此,下面的代码计算在掷5个骰子时看到3个6的概率。但是,我不确定这段代码中的循环 我知道: 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 =

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

我知道:

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
但是循环在做什么,我不确定变量x,y,z和c。传统上,我只会使用powers来获得这类问题的答案,但我不确定这种方法


谢谢

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

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

这段代码在使用和

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