python投掷硬币统计次数_使用python分析抛硬币统计数据

我一直在学习edX上的python编程,这是一门非常好的课程,到目前为止,我完全可以推荐。刚刚看了一个关于Statistics的TED演讲,我觉得很棒,这是一种简单的方法,可以练习我在真实世界场景中学到的python技能。这家伙举了一个例子,讲的是不断地抛硬币,寻找两个重复出现的序列,他解释说,你可能会认为发生的概率和他声称的事实上没有的概率相同。简单地说,他声称,正反面比正反面更有可能发生,因为在第一个序列的末尾,你已经有三分之一的时间再次重复这个序列,在第二个序列的末尾,你必须掷骰子再往前走一步,重新开始这个序列。这很有道理,所以我开始尝试用这里显示的小python程序来证明这一点。在import random

HTH = 0

HTT = 0

myList = []

i = 0

numberOfTosses = 1000000

while i < numberOfTosses:

myList.append(random.randint(0,1))

i += 1

for i in range (len(myList)):

if i+2 >= len(myList):

break

if myList[i] == 1 and myList[i+1] == 0 and myList[i+2] == 1:

HTH +=1

if myList[i] == 1 and myList[i+1] == 0 and myList[i+2] == 0:

HTT +=1

print 'HTT :' ,numberOfTosses, HTT, numberOfTosses/HTT

print 'HTH :' ,numberOfTosses, HTH, numberOfTosses/HTH

所以我已经运行了很多次程序,并且把最大迭代值改得越来越高,但似乎无法证明他的主张,平均每8次投掷HTH序列,每10次HTT序列都会发生,因为无论哪种方式,我都会得到平均平衡的结果。所以我的问题是,我在执行问题的过程中哪里出了问题?在

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值