Python (已解决)我可以';t到达嵌套while循环中的变量
问题是,这只是一个简单的掷骰子程序,但当我在(want)中写“no”时,循环继续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:
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
。