Python
Как зациклить код в Python: while, for, break и безопасная остановка
Зациклить код в Python можно через while или for. Если нужно повторять действие, пока условие истинно, используйте while. Если нужно повторить действие заданное количество раз или пройти по списку, используйте for
Самый простой бесконечный цикл выглядит так:
while True:
print("Код повторяется")
Но такой код будет печатать текст бесконечно, пока вы не остановите программу вручную. Поэтому почти всегда внутри бесконечного цикла нужен способ выхода: break, проверка условия или команда пользователя
Цикл while с условием
while повторяет код, пока условие равно True
count = 1
while count <= 5:
print(count)
count += 1
Результат:
1
2
3
4
5
Здесь важно увеличивать count. Если забыть count += 1, условие count <= 5 всегда останется истинным, и цикл не закончится
Бесконечный цикл с break
Если нужно повторять код до команды пользователя, удобно использовать while True и break
while True:
command = input("Введите команду или exit: ")
if command == "exit":
print("Выход")
break
print("Вы ввели:", command)
Такой цикл бесконечный только технически. На практике он останавливается, когда пользователь вводит exit
Цикл for для повторения несколько раз
Если нужно повторить код ровно 5 раз, проще использовать for и range()
for i in range(5):
print("Повтор", i)
Результат:
Повтор 0
Повтор 1
Повтор 2
Повтор 3
Повтор 4
range(5) дает числа от 0 до 4. Это пять повторений
Как зациклить функцию
Функцию можно вызывать внутри цикла:
def show_menu():
print("1. Приветствие")
print("2. Выход")
while True:
show_menu()
choice = input("Ваш выбор: ")
if choice == "1":
print("Привет")
elif choice == "2":
print("До встречи")
break
else:
print("Неизвестная команда")
Здесь цикл не находится внутри функции. Он просто повторно вызывает функцию show_menu(). Для меню, ботов и консольных программ это нормальный подход
Чем break отличается от continue
break полностью останавливает цикл
for number in range(10):
if number == 5:
break
print(number)
Результат:
0
1
2
3
4
continue пропускает только текущий шаг и переходит к следующему
for number in range(5):
if number == 2:
continue
print(number)
Результат:
0
1
3
4
Число 2 пропущено, но цикл не остановился
Как остановить зависший цикл
Если вы случайно сделали бесконечный цикл, остановите программу в терминале сочетанием Ctrl + C
Например, такой код не закончится сам:
while True:
print("Бесконечно")
В терминале нажмите Ctrl + C, и Python прервет выполнение. Обычно вы увидите KeyboardInterrupt
Как сделать паузу в цикле
Если цикл должен повторяться не мгновенно, а с паузой, используйте time.sleep()
import time
while True:
print("Проверка")
time.sleep(2)
Этот код печатает сообщение раз в 2 секунды. Такой подход встречается в простых таймерах, проверках статуса и учебных автоматизациях
Как не зациклить код случайно
Опасный пример:
number = 1
while number < 10:
print(number)
Здесь number не меняется, поэтому условие всегда истинно. Правильно:
number = 1
while number < 10:
print(number)
number += 1
Если цикл зависит от переменной, внутри цикла должно происходить что-то, что меняет условие
Мини-практика
Сделайте программу, которая спрашивает пароль, пока пользователь не введет правильный:
password = "1234"
while True:
user_password = input("Введите пароль: ")
if user_password == password:
print("Доступ открыт")
break
print("Неверный пароль")
После этого добавьте ограничение: только 3 попытки. Для этого заведите переменную attempts и увеличивайте ее после каждой ошибки
Частые ошибки
Первая ошибка — писать while True без break и без понятного способа остановки. Такой цикл может зависнуть
Вторая ошибка — забыть изменить переменную условия. Если условие никогда не меняется, while не закончится
Третья ошибка — использовать for, когда нужно ждать команду пользователя. Для меню и повторения до выхода обычно удобнее while True
Четвертая ошибка — путать break и continue. break завершает цикл, continue только пропускает текущий проход
Что почитать дальше по Python
Если нужен общий маршрут по теме, откройте рубрику Python. Для соседних задач пригодятся эти разборы:
- Как сделать калькулятор на Питоне: простой код для начинающих
- function_name в Python: как ввести имя через input() и передать его в функцию
- Как закончить функцию в Python: отступ, return, pass и выход из программы
- Как запустить функцию в Python: вызов, аргументы и типичные ошибки новичков