-2

这是我到目前为止所拥有的。问题要求我们运行coinToss(1000)一定次数。然后根据它运行的 3 次找出平均正面数。(例如,如果我们有 400 个正面,350 个正面,然后是 600 个正面,程序将返回 450 个正面作为这三个正面的平均值。)我被难住了,因为我不知道如何让这个东西运行三次,然后返回平均值。任何帮助将不胜感激!

import random

def coinToss(number):

    heads = 0
    tails = 0
    for i in range(0, number):
        flip = int(random.random()*2)
        if (flip == 0):
            heads = heads + 1
        else:
            tails = tails + 1
    return (heads, tails)

def simulatecoinToss(counter):

    for i in range(0, counter):
        coinToss(1000)
        counter = counter -1
    return 
4

1 回答 1

2
simulateCoinToss(counter,number):
    trial_heads = (coinToss(number)[0] for _ in xrange(counter))
    average_heads = float(sum(trial_heads))/counter
    return (average_heads, number-average_heads)

注意:你实际上不需要记录任何关于尾巴的东西(如heads+tails=number)。

于 2012-09-18T23:53:15.980 回答