Can';I don’我不知道如何使python抛硬币程序在整个抛硬币过程完成后循环回到某一点
我已经用头撞墙好几个小时了,现在我想弄明白这一点,所以非常感谢你的帮助。我试图做的是在Y/N问题的Y输入上循环程序,特别是当Y输入时,我希望它以示例输出中所示的方式作出反应 这是我的密码:Can';I don’我不知道如何使python抛硬币程序在整个抛硬币过程完成后循环回到某一点,python,loops,Python,Loops,我已经用头撞墙好几个小时了,现在我想弄明白这一点,所以非常感谢你的帮助。我试图做的是在Y/N问题的Y输入上循环程序,特别是当Y输入时,我希望它以示例输出中所示的方式作出反应 这是我的密码: import random def main(): name = eval(input("Hello user, please enter your name: ")) print("Hello", name ,"This program runs a coin toss simulation
import random
def main():
name = eval(input("Hello user, please enter your name: "))
print("Hello", name ,"This program runs a coin toss simulation")
yn = input("Would you like to run the coin toss simulation?(Y/N):")
if yn == Y:
elif yn == N:
print("Ok have a nice day!")
heads = 0
tails = 0
count = tails + heads
count = int(input("Enter the amount of times you would like the coin to flip: "))
if count <= 0:
print("Silly rabbit, that won't work")
while tails + heads < count:
coin = random.randint(1, 2)
if coin ==1:
heads = heads + 1
elif coin == 2:
tails = tails + 1
print("you flipped", count , "time(s)")
print("you flipped heads", heads , "time(s)")
print("you flipped tails", tails , "time(s)")
main()
我想你应该在第6行说如果yn='Y',而不是说如果yn==Y。您将Y视为一个变量,而它实际上是来自输入的字符串。要多次运行掷硬币模拟,您可以将其放入
while
循环中
您的if yn==Y:
测试将不起作用,因为您尚未定义变量Y
,因此当Python尝试执行该行时,您将得到一个NameError
。您实际上应该做的是根据字符串'Y'
测试yn
的值
我对你的代码做了一些其他的小调整。我去掉了那个潜在危险的eval
函数调用,您不需要它。我还做了一个循环,询问所需的翻转计数;当count
为正数时,我们将跳出循环
import random
def main():
name = input("Hello user, please enter your name: ")
print("Hello", name , "This program runs a coin toss simulation")
yn = input("Would you like to run the coin toss simulation?(Y/N): ")
if yn != 'Y':
print("Ok have a nice day!")
return
while True:
heads = tails = 0
while True:
count = int(input("Enter the amount of times you would like the coin to flip: "))
if count <= 0:
print("Silly rabbit, that won't work")
else:
break
while tails + heads < count:
coin = random.randint(1, 2)
if coin ==1:
heads = heads + 1
else:
tails = tails + 1
print("you flipped", count , "time(s)")
print("you flipped heads", heads , "time(s)")
print("you flipped tails", tails , "time(s)")
yn = input("Would you like to run another coin toss simulation?(Y/N): ")
if yn != 'Y':
print("Ok have a nice day!")
return
main()
随机导入
def main():
name=input(“你好,用户,请输入您的姓名:”)
打印(“Hello”,name,“此程序运行掷硬币模拟”)
yn=输入(“您想运行掷硬币模拟吗?(Y/N):”)
如果yn!='Y':
打印(“好的,祝你有愉快的一天!”)
返回
尽管如此:
正面=反面=0
尽管如此:
count=int(输入(“输入您希望硬币翻转的次数:”)
如果你需要第6行的引号。Y是一个变量,“Y”是一个字符串。另外还有其他问题(你需要做点什么或只是通过第6行等等),但我想你是在问这个问题。最后,下次请在你的问题中写下你的代码,这样很容易重现。把代码放进去,我的错,我是新来的