跟踪有偏向的硬币翻转实验-Python中的二项分布

时间:2019-09-17 00:34:48

标签: python probability probability-distribution

有正面头脑的机会为15%。 85%的机会出现尾巴。我想看看要花多少个硬币才能翻个头。

每次我抛硬币时,我都想将这个数字放在一个空列表中,说明我掷硬币的尝试次数。

我想将硬币总共翻转100次

def coin_flips(n):
   for i in range(n): #for i in the number of coin flips
       #will continue until we break
       empty_list: []
       while True:
           #flip coin
           flipped_coins = np.random.choice(['tails', 'heads'], p = [0.85, 0.15])
          #add count number of flipped cons
           n += 1
           #if coin lands on heads
           if flipped_coins == 'heads':
               #add integer to empty list
               empty_list += n
       #if the coin lands on tails
       else:
           #flip the coin again until it lands on heads
               open_box = np.random.choice(['empty', 'elixir'], p = [0.85, 0.15])
               #add the count of coins flipped
               n += 1

       return empty_list
n = 10_000

1 个答案:

答案 0 :(得分:0)

如果您只想掷硬币直到获得正面的次数

def flip_coins(n, head_prob):
    flips = 0
    heads = False
    while not heads:
        flips += 1
        flipped_coins = np.random.choice(['tails','heads'], p=[1-head_prod, head_prob])
        heads = flipped_coins == 'heads'
    return flips

如果您随后想要列出所花费的金额:

total_flips = [flip_coins(100, .15) for n in range(10_000)]