修改后的掷硬币程序无法运行

2024-05-18 23:39:34 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我必须完成一个任务,模拟抛硬币的过程,并且必须计算抛硬币、抛硬币和抛硬币的次数。在

我的第一个问题是我无法显示正面或反面的数量,修正了这个问题,但后来它翻了一番(例如:我要求翻转50次,正面和反面的总数等于100次),发现我不小心做到了,所以它是两次计数,而不是每次翻转一次,当我改变的时候,程序似乎无法运行。在

当我输入我希望硬币翻转的次数,然后按回车键,它什么也不做,然后转到我终端上的下一行。我已经删除了我的程序中所有的空白,以防无限循环,而不是我无法找出是什么原因造成的。在

谢谢你的帮助。在

code

what happens in the terminal once I run the program


Tags: 程序终端数量过程原因硬币次数空白
2条回答

你需要删除下面的行,否则它将继续循环

count +=1

因为,同时你也在增加head或{}。在

假设您提供了输入1,那么它将检查

^{pr2}$

那么假设coin=1那么

count+=1
head= head+1

下一个循环

head+tail < count # 1 < 2 , which is true

问题是你增加了你的计数变量,同时你的头和尾计数。所以你在一个while循环中瞄准一个移动的目标。我不想与Ravi竞争接受的答案,但这里是您代码的简化版本。在

您不需要使用while循环,因为您知道要进行多少次迭代。在这种情况下,for循环是合适的工具。在

from random import choice


heads = tails = 0
count = int(input('how many flips? '))

for _ in range(count):
    if choice([True, False]):
        heads += 1
    else:
        tails += 1

print('you flipped %d times' % count)
print('you flipped %d heads and %d tails' % (heads, tails))

相关问题 更多 >

    热门问题