Как сделать так, чтобы программа повторяла, пока не угадаешь (while)?
Я хочу, чтобы программа спрашивала снова и снова, пока я не введу правильный ответ. Как работает цикл while в Python для новичка? Как повторять, пока условие не выполнится?
2 ответа
Когда не знаешь заранее, сколько раз повторять, на помощь приходит цикл while (по-английски «пока»). Он крутится, пока условие верно. 🔄
otvet = ""
while otvet != "да":
otvet = input("Скажи 'да': ")
print("Молодец!")
Читается: «пока ответ не равен 'да' — спрашивай снова». Как только введёшь да, цикл остановится и программа похвалит тебя.
Как это работает:
- Python проверяет условие после
while. - Если оно верно — выполняет тело (с отступом) и проверяет снова.
- Если неверно — выходит из цикла.
Очень важно: внутри цикла что-то должно меняться, иначе он будет крутиться вечно! В примере меняется otvet через input.
Осторожно с бесконечным циклом:
while True:
print("это никогда не остановится!") # не запускай 😅
while True крутится вечно, пока не нажмёшь стоп. Аналогия: while — это «продолжай делать, пока не случится нужное». 🎮
Разница between двух циклов простыми словами:
- for — когда знаешь, сколько раз (повтори 5 раз).
- while — когда повторяешь, пока что-то верно (пока не угадал).
Главная ловушка while — забыть менять условие внутри. Тогда цикл зависнет навсегда. Всегда проверяй: «что внутри цикла изменится, чтобы он закончился?» 👍