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. Для соседних задач пригодятся эти разборы:

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x