Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';I don’我不知道如何使python抛硬币程序在整个抛硬币过程完成后循环回到某一点_Python_Loops - Fatal编程技术网

Can';I don’我不知道如何使python抛硬币程序在整个抛硬币过程完成后循环回到某一点

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

我已经用头撞墙好几个小时了,现在我想弄明白这一点,所以非常感谢你的帮助。我试图做的是在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")
    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行等等),但我想你是在问这个问题。最后,下次请在你的问题中写下你的代码,这样很容易重现。把代码放进去,我的错,我是新来的