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

📅  最后修改于: 2023-12-03 15:24:58.289000             🧑  作者: Mango

抛硬币概率计算器

本程序是用来计算抛一枚硬币n次后出现m个正面的概率。

使用方法
coin_probability(num, heads)

其中,num为抛硬币的次数,heads为正面朝上的次数。

返回值

函数将返回一个float类型的结果,表示出现m个正面的概率。结果保留了4位小数。

示例

如果想要计算一枚硬币被抛7次后出现6个正面的概率,可以这样调用该函数:

result = coin_probability(7, 6)
print(result)

则输出结果为:

0.0156
程序实现

本程序基于二项分布的公式实现。以下是源代码片段:

from math import factorial as fact

def coin_probability(num, heads):
    p = 0.5  # 正面朝上的概率
    q = 1 - p  # 反面朝上的概率
    if heads > num:
        return 0.0
    else:
        return round((fact(num) / (fact(heads) * fact(num - heads))) * (p ** heads) * (q ** (num - heads)), 4)

具体计算公式为:

$$ P(X=k)=C_{n}^{k}\cdot p^{k}\cdot q^{n-k} $$

其中,$P(X=k)$表示在$n$次投掷中出现$k$次正面的概率,$C_{n}^{k}$表示$n$个不同元素中选择$k$个元素的组合数,$p$表示一个硬币正面朝上的概率,$q=1-p$表示反面朝上的概率。