📌  相关文章
📜  如果一枚硬币被抛 8 次,那么出现 4 个正面的概率是多少?(1)

📅  最后修改于: 2023-12-03 14:53:22.070000             🧑  作者: Mango

介绍

这是一个简单的计算概率的程序,可以用来计算出现指定数量正面的概率。本文以“如果一枚硬币被抛 8 次,那么出现 4 个正面的概率是多少?”为例进行说明。

实现

这个程序需要用到组合数公式:

C(n, m) = n! / (m! * (n-m)!)

其中,n 代表事件总数,m 代表期望事件数。

计算出现 4 个正面的概率,即:

C(8,4) * 0.5^4 * 0.5^4 = 70/256 = 0.2734

即,抛 8 次硬币,出现 4 个正面的概率是 0.2734 (约为 27.34%)。

代码如下:

def calc_prob(n: int, m: int, p: float) -> float:
    """计算出现 m 次的概率"""
    c = factorial(n) / (factorial(m) * factorial(n - m))
    return c * p ** m * (1 - p) ** (n - m)

print(f'抛 8 次硬币,出现 4 个正面的概率是:{calc_prob(8, 4, 0.5)}')

结果输出:

抛 8 次硬币,出现 4 个正面的概率是:0.2734375

总结

本程序基于组合数公式计算出概率,可以用于许多计算概率的问题。