首页 > 解决方案 > (已解决)我无法在嵌套的 while 循环中访问变量

问题描述

这就是问题所在,它只是一个掷骰子的简单程序,但是当我在(想要)中写“不”时,循环继续

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")

并感谢您的帮助!

标签: pythonloopswhile-loop

解决方案


原因是您仍然处于顶层 while 循环的第一步,因为内部循环正在进行中,即使您更改了play_continue检查的值也不会发生,因为程序永远不会回到它,因为内部循环还没有完成。

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

while play_continue:
    do_stuff()

play_continue仅在完成后检查条件,do_stuff()在您的情况下不是


推荐阅读