这个游戏的要点是将硬币抛100次,记录正面或反面。在100次抛硬币结束时,程序应该打印出它抛正面和反面的次数。当我运行程序时,程序只打印正面,我感觉它是通过执行第一个elif子句而不是random.randint函数来完成的。
有人能帮助完成这个程序吗??
import random
print ('Coin flip game')
start = input('Press enter to flip the coin')
coin_flip = random.randint(1, 2)
heads = int(1)
tails = int(2)
heads = int(heads)
tails - int(tails)
count = 0
while coin_flip:
count += 1
if count == 100:
break
elif coin_flip == 1:
print ('Heads')
elif coin_flip == 2:
print ('Tails')
6条答案
按热度按时间5vf7fwbs1#
请尝试以下操作:
这样循环的每次迭代
你也不需要分配所有那些你以后甚至不用的变量,你应该为循环使用
while True:
gv8xihay2#
打印方式不明确。您可以执行以下操作:
或:
xesrikrc3#
您的问题在这里:
因为
coin_flip
被设置为1或2,所以循环将是无限的,重要的是coin_flip
不会改变(您没有更新它)。要解决这个问题,你应该更新你的
coin_flip
,方法是在循环 * 内 * 给它分配一个随机数:要计算磁头的数量,可以使用
heads
和tails
变量进行跟踪:ltskdhd14#
试试这个
zqry0prt5#
我知道这是几年前的事了,但我修正了连载的代码,以计算结尾的正面和反面的总数:
isr3a4wc6#
你把random放在循环外🙆,它只执行一次。