【发布时间】:2023-04-11 11:22:01
【问题描述】:
下午好,
作为一个想要自学编程的人,我遇到了你。因此,我开始使用 Python。作为免责声明,我已经在该问题中搜索了一些 Python 掷硬币的示例,但我并没有真正理解以前的提问者提出的任何代码。
我的任务 我的教材要求我设计一个应用程序,可以将虚拟硬币翻转 100 次,然后打印结果。我的想法是使用一个无限循环,当抛硬币达到 100 时爆发,然后打印结果。
我还没有完全做到这一点,而且我没有发现我所写内容中的错误。它似乎实现了 100 次翻转,但随后只打印出 50 次正面/反面;因此我的错误在计数逻辑的某个地方?
任何解释(记住我是初学者,而不是白痴!)都会得到我的感谢和支持
感谢阅读
# Exercise 3.2
# Heads and Tails coin flip
#import random
import random
#declare variables
heads = 0
tails = 0
cointoss = 0
coinresult = random.randint(1,2)
#start the loop
while True:
cointoss +=1
#end the loop if cointoss is greater than 100
if cointoss > 100:
break
if coinresult == 1:
heads +=1
cointoss +=1
elif coinresult == 2:
tails +=1
cointoss +=1
print("Heads came up", heads, "times")
print("Tails came up", tails, "times")
【问题讨论】:
-
您的缩进需要修正。
-
一个固定迭代次数的循环写入
for i in xrange(100):-- 不需要break。 -
@Paul:缩进看起来只是因为我不得不在论坛软件中使用它。它似乎在 IDLE 中运行良好。
-
我编辑了您的缩进以避免读者混淆。
-
由于只有两种可能的结果,您可以使用
else:而不是elif coinresult == 2。
标签: python coin-flipping