Цикл while в Python
Как работает цикл while
Цикл while продолжает свою работу пока заданное условие истинно.
Пример
Необходимо вывести цифры от 1 до 10. Объявляем переменную i и присваиваем ей числовое значение 1. Далее открываем цикл while и пишем условие: пока переменная i меньше или равна 10, выводим значение переменной i, а затем увеличиваем значение переменной i на одну единицу.
# Объявляем переменную i = 1 # Запускаем цикл while while i <= 10: # Выводим на экран текущее число print(i, end = ' ') # Увеличиваем текущее число на 1 # два способа: i += 1 или i = i + 1 i += 1 # Вывод в консоли 1 2 3 4 5 6 7 8 9 10
Предотвращение зацикливания while
У каждого цикла while должна быть предусмотрена возможность завершения, чтобы цикл не выполнялся бесконечно. Обычно для завершения цикла используют условия, по завершению которых цикл прекращает работу.
Цикл while с ошибкой
В примере ниже должны быть выведены цифры от 1 до 5, но этого не произойдёт поскольку цикл написан с ошибкой, а именно не увеличивается значение счётчика (значение переменной i не меняется). Если выполнить этот код, то Python зациклится и будет выполняться бесконечно.
# Объявляем переменную x x = 1 # Запускаем цикл while while x <= 5: # Выводим значение переменной x print(x, end =' ')
Цикл while без ошибки
Мы уже выяснили, чтобы цикл while работал нужно увеличивать значение счётчика, а именно добавлять к переменной i одну единицу. Это можно сделать двумя способами: i = i + 1 или i += 1
Если сейчас запустить код, то он отработает и выведет цифры от 1 до 5.
# Объявляем переменную x x = 1 # Запускаем цикл while while x <= 5: # Выводим значение переменной x print(x, end =' ') x += 1 # Вывод в консоли 1 2 3 4 5
Команда break и выход из цикла while
Цикл while может работать бесконечно, пока условие истинно. Но чтобы немедленно прервать выполнение оставшегося кода в цикле независимо от условия, нужно использовать команду break
Важный момент: команда break может использоваться в любых циклах Python.
Пример
Необходимо вывести цифры от 1 до 7. Но как только значение переменной i будет равно 6 нужно прервать работу цикла while командой break.
i = 0 while i < 7: i += 1 if i == 6: break print(i, end=' ') # Вывод в консоли 1 2 3 4 5
Команда continue и продолжение цикла while
Цикл while можно прерывать, командой break. Вместо того, чтобы полностью прерывать выполнение цикла без выполнения оставшейся части кода, можно воспользоваться командой continue для возвращения к началу списка и проверке условия.
Пример
Необходимо вывести цифры от 1 до 10. Но как только значение переменной i будет равно 4, необходимо будет пропустить это значение используя команду continue в цикле while.
i = 0 while i < 10: i += 1 if i == 4: continue print(i, end=' ') # Вывод в консоли 1 2 3 5 6 7 8 9 10
Команда else в цикле while
Команда else в цикле while отвечает за то, что будет выполнено после окончания работы цикла.
Пример
Необходимо вывести цифры от 0 до 9, а по завершению работы цикла while нужно вывести текст Цикл завершён!
i = 0 while i < 10: print(i, end=', ') i += 1 else: print('Цикл завершён!') # Вывод в консоли 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, Цикл завершён!