python numpy 随机抛硬币



使用二项分布进行计算同时抛弃5枚硬币,如果正面朝上少于3枚,则输掉8元,否则就赢8元。如果手中有1000元作为赌资,请问赌博10000次后可能会是什么情况呢?


代码实现:

import numpy as np#导入画图模块


from matplotlib.pyplot import plot,show#导入matplotlib模块的画图和显示函数


money=np.zeros(10000)#先将赌博次数的每一次的money初始化为0


money[0]=1000#表示刚开始有1000元现金


result=np.random.binomial(5,0.5,size=len(money))#二项分布的10000次成功的次数


#遍历10000数,更新每一次的moeny值存储


for i in range(1,len(money)):#110000进行遍历


    ifresult[i]<3:


       money[i]=money[i-1]-8


    else:


       money[i]=money[i-1]+8


print(result.min(),result.max())#打印5次抛硬币最多出现正面,和最少出现正面的次数


print(money.max(),money.min())#打印可能出现钱最多,最少的情况


plot(np.arange(len(money)),money)#画图


show()#显示输出结果:


输出结果:


05


1000.0 -184.0



 



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值