(РЕШЕНО) Я не могу получить доступ к переменной во вложенном цикле while - PullRequest
0 голосов
/ 10 июля 2020

Вот в чем проблема, это простая программа, которая бросает кости, но когда я пишу «нет» в (хочу), l oop продолжается

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

и спасибо за помощь!

1 Ответ

0 голосов
/ 10 июля 2020

причина в том, что вы все еще находитесь на первом шаге верхнего уровня, а l oop, так как внутренний еще продолжается, даже если вы изменили значение play_continue, проверка никогда не происходит, потому что программа никогда не возвращается вокруг него, так как внутренний l oop еще не завершен sh.

вы можете думать обо всем внутреннем l oop как об одной инструкции, например

while play_continue:
    do_stuff()

условие play_continue проверяется только после завершения do_stuff(), что в вашем случае не

...