Статья

Python: цикл while

5 сентября 2026~8 минут10–11 класс

Цикл while нужен, когда программа должна повторять действие, пока выполняется заданное условие. На экзамене по Python такие задачи встречаются регулярно: важно не только понять условие, но и точно определить, сколько раз выполнится цикл.

В статье разберём, как работает while, из чего состоит цикл и как отслеживать изменения переменных. Затем решим типовое задание, оформим ответ и посмотрим, за что начисляют баллы по критериям.

Python: цикл while и повторяющиеся действия

Если программа должна несколько раз выполнять одно и то же действие, длинный список одинаковых команд быстро превращается в источник ошибок. Цикл while помогает описать правило: «повторяй блок, пока условие истинно». Разобравшись с ним, ты сможешь решать задачи со счётчиками, суммами, поиском нужного значения и обработкой пользовательского ввода.

Название while переводится как «пока». После него записывают условие, затем ставят двоеточие. Все команды с отступом образуют тело цикла. Python проверяет условие перед каждой новой итерацией. Если результат равен True, тело выполняется. Если False, цикл завершается, а программа переходит к следующей строке.

n=1n = 1
while n ≤ 5:
print(n)
n=n+1n = n + 1

В примере числа от 1 до 5 выводятся по одному. Важно, что значение n меняется внутри цикла. Иначе условие n ≤ 5 всегда оставалось бы истинным, и программа зациклилась бы.

Как работает while по шагам

У любого цикла while есть три основные части: начальное значение, условие продолжения и изменение переменной. Сначала подготовь переменную до цикла. Затем проверь, что должно быть истинно для выполнения. Внутри тела измени переменную так, чтобы программа постепенно приблизилась к завершению.

Рассмотрим алгоритм подсчёта от 3 до 7. В начале number = 3. Пока число не больше 7, его нужно напечатать. После печати прибавляем единицу. Когда значение станет 8, условие окажется ложным, поэтому тело больше не выполнится.

number=3number = 3
while number ≤ 7:
print(number)
number+=1number += 1

Результат:
3
4
5
6
7

Оператор += означает «прибавить справа указанное значение и сохранить результат». Запись number += 1 равна записи number = number + 1. Аналогично работают -=, *= и /=.

Совет репетитора

Перед запуском мысленно выпиши первые три значения переменной. Так ты быстро проверишь направление изменения и заметишь ошибку в условии.

Разобранный пример: сумма чисел

Задача: найти сумму чисел от 1 до 5 с помощью while. Для этого понадобятся две переменные. i будет хранить текущее число, а total — накопленную сумму. На каждом шаге прибавляем i к total, затем увеличиваем счётчик.

Разберём выполнение полностью. Вначале i = 1, total = 0. Условие истинно, поэтому к нулю прибавляется единица. Затем i становится 2. Следующие шаги дают суммы 3, 6, 10 и 15. После обработки пятёрки счётчик увеличивается до 6, условие i ≤ 5 становится ложным.

i=1i = 1
total=0total = 0
while i ≤ 5:
total=total+itotal = total + i
i=i+1i = i + 1
print(total)

Шаг 1: total = 0 + 1 = 1
Шаг 2: total = 1 + 2 = 3
Шаг 3: total = 3 + 3 = 6
Шаг 4: total = 6 + 4 = 10
Шаг 5: total = 10 + 5 = 15
Ответ: 15

Такой приём встречается в задачах на сумму, количество элементов, произведение и поиск максимума. Если хочется сразу потренироваться на похожих алгоритмах, это удобно сделать в личном кабинете с бесплатной практикой.

Ввод данных и особые команды

Цикл может повторять запрос, пока пользователь не введёт специальное значение. Например, программа просит число, а ввод 0 завершает работу. Здесь удобно использовать break: он немедленно останавливает ближайший цикл.

while True:
value = int(input("Введи число: "))
if value == 0:
break
print("Получено:", value)

Запись while True создаёт цикл без заранее заданного конца, поэтому внутри обязательно должен быть путь к break. Команда continue работает иначе: она пропускает оставшиеся команды текущей итерации и сразу переходит к следующей проверке условия.

КонструкцияНазначениеПример
breakполностью завершает циклвыход при нулевом вводе
continueпропускает текущий шагне обрабатывать отрицательное число
elseвыполняется после обычного завершенияесли не сработал break

Используй эти команды осознанно: сначала сформулируй условие остановки обычными словами, а уже затем переноси его в код.

Типичные ошибки в цикле while

Первая ошибка — забыть изменить счётчик. Тогда условие не меняется, и программа выполняет бесконечный цикл. Вторая — выбрать неправильный знак сравнения. Например, при движении от 1 к 5 условие i ≥ 5 с самого начала ложно, поэтому тело не выполнится ни разу.

Третья проблема — ошибка границы. Условия i < 5 и i ≤ 5 дают разный результат: первое пропускает 5, второе включает его. Всегда уточняй, нужно ли брать конечное значение. Ещё одна частая ошибка — неправильный отступ. В Python отступ показывает, какие команды принадлежат циклу.

Ловушка

Не ставь точку с запятой вместо двоеточия и не меняй счётчик после строки, которая навсегда прерывает выполнение. Проверяй, что каждая итерация действительно приближает цикл к завершению.

Полезная проверка: выпиши таблицу из трёх колонок — значение переменной, результат условия, действие тела. Такой разбор особенно помогает перед контрольной или экзаменационной задачей.

Что запомнить

Цикл while повторяет команды, пока условие истинно. Его схема проста: начальное значение → проверка условия → тело цикла → изменение переменной → новая проверка. Без изменения переменной цикл может стать бесконечным. Знаки сравнения определяют, попадёт ли граничное значение в обработку.

Для остановки по событию применяют break, а для пропуска шага — continue. Перед запуском проверь начальное значение, направление изменения и момент, когда условие станет ложным. Эти три вопроса помогают найти большинство ошибок.

Следующий шаг — зарегистрируйся и реши 5 заданий бесплатно в личном кабинете. Начни с простого счётчика, затем переходи к суммам и циклам с вводом данных.

Чем while отличается от for?

Цикл for обычно используют, когда известно, по каким элементам или значениям нужно пройти. while удобен, когда повторение зависит от условия и число итераций заранее неизвестно.

Как закрепить тему после разбора?

Реши несколько коротких задач: выведи числа в обратном порядке, найди сумму диапазона, посчитай количество введённых значений и останови ввод по условию. После каждого решения объясни словами, почему цикл завершается.

Почему возникает бесконечный цикл?

Чаще всего переменная в условии не изменяется или изменяется в неправильную сторону. Проверь значение перед каждой итерацией и найди шаг, на котором условие должно стать ложным.

Можно ли использовать if внутри while?

Да. Условие if позволяет выполнять разные действия внутри итерации, пропускать значения или завершать цикл с помощью break.

Что дальше?

Не оставляйте тему «прочитанной»

Понимание — половина дела. Вторая — практика с обратной связью: личный кабинет Просто Урок покажет, где вы ошибаетесь, и подтянет слабые места.

Проверь себя

Теория без практики забывается. Пройди тест по этой теме — после каждого ответа увидишь объяснение:

Важно. Материалы сайта носят информационно-образовательный характер и не являются публичной офертой (ст. 437 ГК РФ), индивидуальной консультацией или руководством к действию. Мы аккуратно работаем с фактами, но не гарантируем полную точность и актуальность: структура и правила экзаменов могут меняться — сверяйтесь с официальными источниками (ФИПИ, действующие кодификаторы и нормативные акты РФ). Администрация сайта не несёт ответственности за возможные неточности и за решения, принятые на основе материалов. Заметили неточность — напишите нам, мы исправим.