Иногда нам может быть нужно повторять что-то много раз. Например, сформировать сто одинаковых отчетов для разных людей или построить много однотипных визуализаций. Программирование отлично подходит для автоматизации таких задач — и в этом нам помогут циклы. В Python для вида циклов: while и for. И мы, конечно же, рассмотрим оба варианта, начнем с первого.
Цикл while в Python — это команда, которая повторяет действия до тех пор, пока выполняется какое-то условие. Это как если бы вы говорили компьютеру: «Делай это снова и снова, пока не скажу остановиться!»
Вот так пишется цикл while на Python:
while условие:
# что делать, пока условие выполняется
Как он работает:
«while» переводится как «пока».
Если условие — правда (True), действия повторяются.
Как только условие становится ложным (False), цикл заканчивается.
Пример 1. Считаем до 5 Представьте, что у вас есть счетчик:
count = 1 # создали переменную count, равную 1
while count <= 5: # пока значение count меньше или равно 5:
print("Считаю:", count) # печатаем значение count
count = count + 1 # увеличиваем значение count на 1
print("Готово!") # печатаем строку "Готово!"
Как работает:
Печатаются числа от 1 до 5.
Когда count становится 6, цикл останавливается.
Пример 2. Попугай Пусть попугай повторяет ваше сообщение, пока вы не скажете «стоп»:
message = "" # создали переменную message, равную пустой строке
while message != "стоп": # пока значение message не равно строке "стоп"
message = input("Скажи что-нибудь попугаю: ") # запрашиваем у пользователя строку
print("Попугай говорит:", message) # выводим её
print("Попугай ушёл спать.")
Как работает:
Пользователь пишет что угодно, попугай повторяет.
Если ввести «стоп», цикл завершится.
Пример 3.
slices = 3 # создали переменную slices, равную 3
while slices > 0: # пока значение переменной slices больше нуля
print("Осталось кусочков пиццы:", slices) # печатаем значение переменной slices
print("Ням-ням!")
slices = slices - 1 # уменьшаем значение переменной slices на 1
print("Пицца закончилась :(")
Что произойдет:
Робот ест пиццу, пока не съест все кусочки.
После последнего кусочка цикл завершается.
Важное правило: Цикл while может стать бесконечным. Если условие всегда истинно, то цикл не остановится.
Пример:
while True:
print("Я работаю бесконечно!")
Такой цикл приходится останавливать вручную. Для этого нужны специальные команды, которые мы рассмотрим далее.
Операторы break и continue в Python — это специальные команды, которые помогают управлять работой цикла while, делая программу более гибкой и понятной.
Давайте разберемся, как они работают!
break — это команда, которая прерывает цикл полностью в ту же секунду, когда она встречается. Это значит, что программа выходит из цикла и дальше продолжает работать с тем кодом, который написан после цикла.
Представьте, что вы со своей собакой гуляете и хотите искать палочки, пока не найдёте особенную палочку, которая очень понравилась вашей собаке, тогда остановитесь.
while True: # Цикл работает "вечность", пока не скажем стоп
stick = input("Нашли палочку? Напишите 'да', если нашли: ")
if stick == "да":
print("Ура! Особенная палочка найдена!")
break # Прекращаем цикл, потому что цель достигнута
else:
print("Это не та палочка, ищем дальше...")
print("Пусть прогулка закончится.")
Как это работает:
Цикл повторяется, пока пользователь не введёт слово «да».
Как только это случится, оператор break прервет цикл.
Выведется сообщение и программа пойдёт дальше.
Следующая команда — это continue, она говорит: пропусти текущий шаг цикла и переходи сразу к следующему повторению.
Это полезно, когда в цикле есть условие, по которому хочется пропустить некоторые действия, но не выходить из цикла целиком.
Пример с continue
Допустим, вы хотите считать до 5, но пропустить число 3, чтобы не выводить его.
count = 0 # задаем переменную count, равную 0
while count < 5:
count += 1 # добавляем 1 в переменную count и перезаписываем результат
if count == 3:
continue # Пропускаем число 3 — ничего не печатаем, идём дальше
print("Считаю число:", count)
print("Всё посчитано!")
Что произойдет:
Цикл будет считать 1, 2, 3, 4, 5.
Но когда count будет равна 3, команда continue пропустит выполнение функции print, и число 3 не выведется.
Остальные числа выведутся как обычно.
Команда
Что делает
Пример использования
break
Прерывает весь цикл и выходит из него
Прекратить поиск при нахождении нужного
continue
Пропускает текущую итерацию цикла, идёт дальше
Пропустить определённые значения или события
Используйте break, чтобы остановить цикл
Используйте continue, чтобы пропускать ненужные шаги внутри цикла и сразу переходить к следующему шагу.
Будьте аккуратны: неправильное использование может привести к бесконечным циклам или пропуску важных операций.
-
Задачи для самопроверки
Задача 1. Обратный отсчёт таймера
Условие. Запустите обратный отсчёт от 5 до 1, выводя каждое число на своей строке. После завершения цикла выведите «Старт!».