掷硬币直到 50/50
Coinflip until 50/50
"pretty new programmer here" 我想做一个抛硬币代码,抛硬币 100 次并给我正面或反面的总价值,但我想一直抛到 50/50。
我有掷硬币但我在一个无限循环中我无法摆脱
heads = 0
tails = 0
tries = 0
while heads != 50 and tails != 50:
for i in range(100):
x = random.randint(0,1)
if x == 1:
heads += 1
else:
tails += 1
print(heads,tails)
tries += 1
tails = 0
heads = 0
print(tries)
我希望它每次都显示正面和反面,然后显示达到 50/50 所需的迭代次数。
例如
55 45
52 48
47 53
51 49
53 47
40 60
45 55
42 58
51 49
46 54
54 46
42 58
51 49
45 55
48 52
50 50
我知道答案一定很简单,但我就是想不出来。
提前致谢
在while循环开始时将heads和tails设置为0,而不是结束时,否则在检查while条件的那一刻,两者将始终为0。
目前您正在循环结束时将头部和尾部值都重置为 0。所以每次检查 while 条件时,heads 和 tails 变量都等于零。
解决此问题的一个方法是将代码末尾修改为如下所示
tries += 1
if heads == 50:
break
tails = 0
heads = 0
这将检查值是否等于 50然后将值重置为 0 并退出 while 循环,如果是这种情况
"pretty new programmer here" 我想做一个抛硬币代码,抛硬币 100 次并给我正面或反面的总价值,但我想一直抛到 50/50。
我有掷硬币但我在一个无限循环中我无法摆脱
heads = 0
tails = 0
tries = 0
while heads != 50 and tails != 50:
for i in range(100):
x = random.randint(0,1)
if x == 1:
heads += 1
else:
tails += 1
print(heads,tails)
tries += 1
tails = 0
heads = 0
print(tries)
我希望它每次都显示正面和反面,然后显示达到 50/50 所需的迭代次数。
例如
55 45
52 48
47 53
51 49
53 47
40 60
45 55
42 58
51 49
46 54
54 46
42 58
51 49
45 55
48 52
50 50
我知道答案一定很简单,但我就是想不出来。
提前致谢
在while循环开始时将heads和tails设置为0,而不是结束时,否则在检查while条件的那一刻,两者将始终为0。
目前您正在循环结束时将头部和尾部值都重置为 0。所以每次检查 while 条件时,heads 和 tails 变量都等于零。
解决此问题的一个方法是将代码末尾修改为如下所示
tries += 1
if heads == 50:
break
tails = 0
heads = 0
这将检查值是否等于 50然后将值重置为 0 并退出 while 循环,如果是这种情况