Задать вопрос
gcs_dk
@gcs_dk
Идущий по пути

Почему продолжается итерация цикла?

Добрый вечер!
Вот код:
play_game = True
runnig = True
game = ""
play = ""

while runnig:#Пока условие истинно
	play = input("Play?: ")
	if play == "n": #если play = "n"
		runnig = False 

	while play_game:
		game = input("Yes or no? ")
		if game == "n":
			play_game = False


Скажите пожалуйста, почему итерация цикла переходит на 2 уровень при том, что я ввожу "n", ведь тогда runnig = False и условие не должно выполняться? Возможно, я что-то упускаю? Подскажите пожалуйста.
  • Вопрос задан
  • 64 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
alternativshik
@alternativshik
Потому что runnig = False проверится только при следующей итерации, а для этого надо выполнить весь блок кода до самого конца
Ответ написан
coderisimo
@coderisimo
Потому что проверка while runnig уже произошла. И даже если в процессе работы вы присвоили runnig = False ,
if play == "n": #если play = "n"
    runnig = False


следующая проверка произойдет только после того как завершится остальная часть кода

while play_game:
    game = input("Yes or no? ")
    if game == "n":
      play_game = False
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы