数据分析入门经典问题-你两个朋友同一天过生日的概率有多大?

皆起于赌,假设这一组有N=30个人。换个说法:你敢不敢用10美元赌里面有两个同月同日生的人?这就有意思了。

直接上代码直观看一下

import matplotlib.pyplot as plt
import numpy as np

#存在至少两人生日在同一天的概率
#思路:1-α(所有人生日不在同一天)
#例子:2人生日在同一天的概率
#P=1-(366*365/366*366)

def  calMolecule(n,c,k):#计算分子 366*365*364*...
    if(n>c-k+1):
        return n*calMolecule(n-1,c,k)
    else:
        return n

def calDenominator(n,c,k):#计算分母 366*366*...
    if (c<k):
        return n * calDenominator(n, c+1,k)
    else:
        return n

if __name__ == '__main__':

    #1人一组到80人一组
    x = np.arange(1, 80)
    list =[]
    for k in range(1,80):
        list.append(1 - calMolecule(366, 366, k) / calDenominator(366, 1, k))

    plt.xlabel('num')
    plt.ylabel('probability')

    plt.plot(x, list)
    plt.show()




一组有30人时,这个赌注赢得概率就差不多70%了,这个期望收益就很不错了10*0.7-10*0.3=4

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值