Python 而True循环停止ruuning

Python 而True循环停止ruuning,python,while-loop,Python,While Loop,我想验证一个简单的问题,用户是否想玩游戏-是或否 while True: start = '' start = input("Do you want to play Python Black Jack? Enter Yes or No: ") if start.lower().startswith('y'): print("let the game begin") break elif start.lower().startsw

我想验证一个简单的问题,用户是否想玩游戏-是或否

while True:
    start = ''
    start = input("Do you want to play Python Black Jack? Enter Yes or No: ")

    if start.lower().startswith('y'):
        print("let the game begin")
        break

    elif start.lower().startswith('n'):
        print ("Goobye")
        break

    else:
        print ("Looks like you did not enter a valid answer!")
        continue
代码确实正确运行了好几次,但随后它突然停止运行-我认为发生的是,当我中断while循环时,True语句不再适用,因此当我重新运行程序时,它不会再次进入while循环


请您告诉我我做错了什么,发生了什么,或者避免这种归档循环的最佳做法是什么。

中断语句将中断循环。如果执行break的任何条件在某一点上为真,则循环将停止。

您需要两个循环-一个用于保持游戏运行,一个用于获得是/否答案。。也许可以这样构造代码:

def shouldStartGame():
    while True:
        start = input("Do you want to play Python Black Jack? Enter Yes or No: ")

        if start.lower().startswith('y'):
            print("let the game begin")
            return True

        if start.lower().startswith('n'):
            print ("Goodbye")
            return False

        print ("Looks like you did not enter a valid answer!")

while True:
    if not shouldStartGame():
        break

    print("Here the rest of the game goes")

请复制您的实际缩进。您发布的内容将不会运行。
break
特别表示“停止循环”。你可能想要另一个循环,这只是它的开始部分。当你打破循环时,你不再在循环中,所以我不确定你在期待什么。请给更多的许可和缩进您的代码。谢谢代码实际上是正确缩进的——当我复制粘贴它时,缩进被删除了。问题是:如果代码确实正确运行了好几次,那么它就会突然停止工作。我必须重新启动内核&然后它开始再次提示信息&重新运行代码,但随后它就停止了。@JuanRodriguez什么内核?你是说你需要重新启动你的操作系统吗?我认为
break
停止循环是你想要的行为(毕竟,在输入了有效的答案之后,继续询问答案是没有意义的)。我认为OP所说的是,在他打破循环之后,循环就不能再进入了。当然,代码中没有任何内容会再次尝试进入循环(即没有外部循环或类似的内容),因此这里显然缺少信息。真的,这只是一个问得不好的问题。@sepp2k你很理解他的问题。事实上,他只是需要另一个循环。