Top.Mail.Ru

Цикл While

Иногда нам может быть нужно повторять что-то много раз. Например, сформировать сто одинаковых отчетов для разных людей или построить много однотипных визуализаций. Программирование отлично подходит для автоматизации таких задач — и в этом нам помогут циклы. В 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, выводя каждое число на своей строке. После завершения цикла выведите «Старт!».

Решение: [[toggle]]
seconds = 5

while seconds > 0:
print(seconds)
seconds -= 1

print("Старт!")
Задача 2. Таблица умножения для числа 7

Условие. С помощью while выведите таблицу умножения для числа 7 от 1 до 10 в формате 7 x i = результат.

Решение: [[toggle]]
number = 7
i = 1

while i <= 10:
print(number, "x", i, "=", number * i)
i += 1

Последовательности и строки