В Python цикл while позволяет многократно исполнять кодовую последовательность пока заданное условие остается истинным. Это особенно полезно, когда заранее неизвестно количество итераций, в отличие от цикла for, используемого для фиксированного числа проходов, о котором мы говорили в этой статье.
Основные возможности цикла while включают:
  • Повторение операций до тех пор, пока некоторое условие остаётся истинным.
  • Управление ходом выполнения цикла с помощью команд прерывания (break) и пропуска текущего шага (continue).
  • Обработка завершения цикла естественным образом посредством конструкции else.
Правильное использование цикла while даёт вам гибкость и мощь при написании динамического и эффективного кода.

Основы синтаксиса цикла while

Простейший пример цикла выглядит следующим образом:
Этот простой фрагмент выводит числа от 0 до 4 включительно, потому что условие i < 5 проверяется перед каждой итерацией. Если оно ложно, цикл немедленно прекращается.

Использование оператора break

Оператор break предназначен для немедленного выхода из цикла независимо от условия продолжения. Например:
Результатом исполнения будет вывод чисел 1 и 2, поскольку оператор break останавливает цикл сразу же после обнаружения значения 3.

Пропуск шагов с оператором continue

Иногда возникает необходимость пропустить текущую итерацию и перейти к следующей проверке условия. Для этого используется оператор continue. Рассмотрим следующий пример:
Здесь пропускаются чётные числа, и выводятся лишь нечётные (135). Когда значение переменной делится нацело на два, выполняется команда continue, возвращающая управление обратно в начало цикла.

Конструкция else в цикле while

Конструкция else применяется совместно с циклом while и исполняется тогда, когда цикл завершился нормально, без принудительного прекращения командой break. Пример её использования:
В данном примере после вывода пяти последовательных чисел исполнится блок else, который сигнализирует о завершении нормального хода цикла.

Избегаем бесконечных циклов

Одним из распространённых ошибок является создание бесконечного цикла. Вот классический пример неправильной реализации:
Чтобы избежать подобной ситуации, важно убедиться, что внутри тела цикла имеется логика изменения условий таким образом, чтобы рано или поздно они стали ложными. Например, мы можем исправить предыдущий пример, введя правильную проверку условия:
Теперь цикл завершится автоматически, когда переменная достигнет десяти.

Рекомендации

  • Используйте цикл while, когда число итераций заранее неизвестно.
  • Применяйте операторы break и continue осторожно, чтобы не запутывать ход программы.
  • Проверяйте правильность условия завершения цикла, чтобы предотвратить возникновение бесконечной цикла.
Знание основ циклов while позволит эффективно решать многие практические задачи программирования на Python.