Статья

Python: цикл for

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

Если «Python: цикл for» вызывает ступор — это нормально: тема собрана из простых идей. Покажем их по порядку: теория, пример, разбор задания и типичные ошибки.

Что такое цикл for в Python

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

Общая конструкция выглядит так:

for переменная in последовательность:
    команды, которые повторяются

После двоеточия обязательно начинается тело цикла с отступом. Обычно используют четыре пробела. Важно: Python понимает границы блока именно по отступам, а не по специальным скобкам.

Например, цикл перебирает элементы списка:

for number in [2, 4, 6]:
    print(number)

Результат:
2
4
6

Если хочется спокойно потренироваться на похожих примерах, можно открыть бесплатную практику в личном кабинете и сразу проверить себя.

Как цикл проходит по последовательности

Разберём работу for по шагам. Сначала Python находит последовательность после слова in. Затем берёт её первый элемент и записывает в переменную цикла. Выполняется тело цикла. После этого берётся следующий элемент, и действия повторяются. Когда элементы заканчиваются, цикл завершается.

Имя переменной можно выбрать почти любое, но оно должно объяснять смысл. Для списка оценок подойдут mark или grade, для слов — word, для чисел — number. Переменная хранит только текущий элемент, поэтому на следующем шаге её значение изменится.

Цикл работает не только со списками. Строка перебирается посимвольно:

for letter in "Python":
    print(letter)

На экране появятся буквы P, y, t, h, o, n в отдельных строках. Для перебора чисел часто применяют range. Запись range(5) создаёт последовательность от 0 до 4, а не до 5. Это частый источник ошибок в заданиях.

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

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

range: повторить действие нужное число раз

Функция range особенно полезна, когда элементы последовательности не нужны, а нужно просто повторить действие. У неё есть три основных варианта записи. range(stop) создаёт числа от 0 до значения перед скобкой, не включая его. range(start, stop) начинает отсчёт с start. Третий параметр задаёт шаг.

ЗаписьПолучаемые числаСмысл
range(4)0, 1, 2, 3Четыре повторения
range(2, 6)2, 3, 4, 5От 2 до 5
range(10, 4, -2)10, 8, 6Обратный ход с шагом −2

Например, вывести квадраты чисел от 1 до 5 можно так:

for number in range(1, 6):
    print(number, number²)

В настоящем Python оператор возведения в степень записывается двумя звёздочками: number ** 2. Обозначение ² здесь помогает увидеть математический смысл, но в коде нужно использовать именно синтаксис Python.

Если в условии встречается «для всех чисел от A до B», проверь, нужно ли включать B. Для включительного конца часто пишут range(A, B + 1).

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

Задача: найти сумму всех чётных чисел от 1 до 10. Сначала создадим переменную-накопитель total и положим в неё ноль. Затем переберём числа диапазона от 1 до 10 включительно. Если число делится на 2 без остатка, добавим его к сумме.

\( total = 0 \)
for number in range(1, 11):
\( if number \% 2 == 0: \)
\( total = total + number \)
print(total)

Проверка по шагам:
чётные числа: 2, 4, 6, 8, 10
total: 0 → 2 → 6 → 12 → 20 → 30
Ответ: 30

Здесь % возвращает остаток от деления. У чётных чисел он равен нулю. Условие number % 2 == 0 проверяет это равенство, а оператор += мог бы кратко заменить запись total = total + number.

Обрати внимание на отступы: строка с total находится внутри условия, а print — только внутри цикла, но вне if. Поэтому итоговая сумма выводится после каждого прохода цикла? Нет: в данном оформлении она находится вне цикла и выводится один раз.

Типичные ошибки и управляющие команды

Первая ошибка — забыть двоеточие после заголовка цикла или условия. Вторая — нарушить отступ: тогда Python сообщит об ошибке или команда окажется не в том блоке. Третья — перепутать границу range: последнее число не включается. Четвёртая — изменять список во время его перебора. Безопаснее создать новый список или использовать отдельный накопитель.

Команда break полностью останавливает цикл. Она удобна, когда нужный элемент найден:

for word in words:
    if word == "стоп":
        break

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

for number in numbers:
    if number < 0:
        continue
    print(number)

Ловушка

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

Для задач экзамена полезно отдельно проверять: что перебирается, сколько раз выполняется тело и где находится команда вывода.

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

Цикл for последовательно перебирает элементы последовательности. Шаблон таков: for переменная in последовательность:, затем идёт тело с отступом. Списки и строки перебираются напрямую, а для числовых диапазонов используется range. Его правая граница не входит в последовательность. Накопитель помогает считать сумму или количество, break завершает цикл, а continue пропускает текущий шаг.

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

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

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

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

Почему range(5) не включает число 5?

В Python правая граница range не включается. Поэтому range(5) даёт значения 0, 1, 2, 3 и 4. Чтобы дойти до 5 включительно, используют range(6).

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

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

Можно ли перебирать строку циклом for?

Да. Цикл по очереди получает каждый символ строки. Это позволяет считать буквы, искать нужный символ или формировать новый результат.

Проверь себя на реальных заданиях

После такого разбора решите 5–7 заданий подряд — и тема ваша. Тренажёр Просто Урок подберёт их автоматически и объяснит ошибки по шагам. Бесплатно.

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