(已解决)我无法访问嵌套while循环中的变量

2024-04-27 02:23:42 发布

您现在位置:Python中文网/ 问答频道 /正文

问题是,这只是一个简单的掷骰子程序,但当我在(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")

谢谢你的帮助


Tags: noimport程序youfalsetrueplayrandom
1条回答
网友
1楼 · 发布于 2024-04-27 02:23:42

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

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

while play_continue:
    do_stuff()

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

相关问题 更多 >