Python (已解决)我可以';t到达嵌套while循环中的变量

Python (已解决)我可以';t到达嵌套while循环中的变量,python,loops,while-loop,Python,Loops,While Loop,问题是,这只是一个简单的掷骰子程序,但当我在(want)中写“no”时,循环继续 import random play_continue = True want = "" want_play = False while play_continue: while not want_play: try: want = input("Do you want to play?: ") except:

问题是,这只是一个简单的掷骰子程序,但当我在(want)中写“no”时,循环继续

import random

play_continue = True
want = ""
want_play = False
while play_continue:
    while not want_play:
        try:
            want = input("Do you want to play?: ")
        except:
            print("I don't understand what you said")
        else:
            if want == "no":
                play_continue = False
            elif want == "yes":
                want_play = True
            else:
                print("I don't  understand")

谢谢你的帮助

原因是您仍然处于顶层while循环的第一步,因为内部循环正在进行,即使您更改了
play\u continue
的值,检查也不会发生,因为程序永远不会返回到它,因为内部循环尚未完成

您可以将整个内部循环看作一条指令,例如

while play_continue:
    do_stuff()

play\u continue
条件仅在
do\u stuff()
完成后才被检查,在您的情况下,这不是

为什么有两个嵌套的while循环?一个就够了。现在让您感到困惑的是,将
play\u continue
设置为false不足以让您脱离内部while循环,因为您对
want\u play
感兴趣。只需使用一个变量并将其设置为
True
false