我需要模拟一个掷硬币的序列并监控我必须做多少次尝试才能获得预定长度的正面(或反面)条纹。换句话说,我需要计算我需要掷多少次硬币才能连续连续 3 次正面朝上。一旦脚本完成了连胜,它应该对 4 连胜和 5 连胜做同样的事情。
我确实尝试过这样的事情:
def main():
import random
attemps = [4, 5, 6] # length of the streaks we want to achieve
for item in attemps:
mylist = list(xrange(item))
while True:
for i in mylist:
y = random.randint(0, 1) # 0 as head, 1 as tail
print i, y
if y != 0:
return False
但当然它不会做我想要的。它有两个问题:
一旦硬币值为 1,它就会退出,但只要连续完成,它就不会再次尝试。
它仅测试“尝试”列表的第一个数字,即 4。
我真的不知道如何解决这个问题。