Статья

Python: циклы: разбор для ЕГЭ

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

Разберём «Python: циклы» так, чтобы тема наконец встала на место: короткая теория, наглядный пример, алгоритм и ошибки, на которых теряют баллы. В конце — что запомнить и где закрепить на практике.

Зачем нужны циклы и как они приносят первичные баллы

Кажется, что ручной перебор сотен вариантов на экзамене отнимает всё драгоценное время и приводит к обидным ошибкам в вычислениях. В этой статье мы по шагам разберём циклы for и while в Python, чтобы ты мог уверенно автоматизировать решение заданий 2, 5, 8, 12, 14, 15, 17, 24 и 25 на ЕГЭ по информатике.

Компьютерный формат ЕГЭ превратил программирование в главный инструмент экзамена. Вместо того чтобы вручную строить громоздкие математические модели, школьник может написать короткий скрипт из 5–7 строк. Циклы позволяют выполнять повторяющиеся действия миллионы раз за доли секунды. В Python существует всего два основных типа циклов: со счётчиком (for) и с условием (while). Понимание разницы между ними и умение грамотно организовать перебор значений дают возможность закрыть большую часть первой части и получить уверенный старт во второй части КЕГЭ.

Цикл for и функция range: перебор известных диапазонов

Цикл for применяется в тех случаях, когда количество повторений или набор перебираемых элементов известны заранее. Основой для генерации числовых последовательностей в Python служит встроенная функция range(). Она принимает от одного до трёх параметров: старт, стоп и шаг.

# Перебор от 0 до 4 включительно (всего 5 итераций)
for i in range(5):
    print(i)  # выведет 0, 1, 2, 3, 4

# Перебор от 10 до 20 с шагом 2
for i in range(10, 21, 2):
    print(i)  # выведет 10, 12, 14, 16, 18, 20

Цикл for также умеет напрямую перебирать символы строки, элементы списков или кортежей без использования индексов. Это незаменимо при обработке строковых данных в задании 24 или фильтрации пар чисел в задании 17. Если тебе хочется сразу протестировать работу range на практических задачах, открой бесплатный тренажёр Просто Урок и попробуй написать свой первый перебор.

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

Помни про нестрогую правую границу: вызов range(a, b) всегда завершается на числе b − 1. Если по условию задачи требуется проверить диапазон включительно до 100, в коде обязательно указывай range(1, 101).

Цикл while: работа с неизвестным числом шагов и цифрами числа

Цикл while работает до тех пор, пока истинно заданное логическое условие. В задачах ЕГЭ он чаще всего используется для разбора чисел по разрядам в различных системах счисления (задания 6, 12 и 14), а также для поиска первого подходящего значения, когда верхняя граница диапазона неизвестна.

Классический алгоритм разбора десятичного числа на цифры строится на двух операциях: взятие остатка от деления на основание системы (%) для получения младшей цифры и целочисленное деление (//) для отбрасывания обработанного разряда.

\( n = 175 \)
\( sum_digits = 0 \)
\( while n > 0: \)
    digit = n % 10      # получаем последнюю цифру
    sum_digits += digit  # прибавляем к сумме
    n = n // 10          # отбрасываем последнюю цифру
print(sum_digits)        # результат: 1 + 7 + 5 = 13

Аналогично разбираются числа в любых системах счисления: например, при переводе числа 25₁₀ в двоичную систему (25₁₀ = 11001₂) мы делим число на 2, собирая остатки в цикле while.

Ловушка

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

Сравнение конструкций: шпаргалка по выбору цикла

Чтобы не путаться во время решения вариантов, полезно заранее представлять, какая синтаксическая конструкция лучше подходит под конкретный тип формулировки задачи. Выбор правильного цикла сокращает объём кода и снижает вероятность технических ошибок.

Параметр Цикл for Цикл while
Когда использовать Известен точный диапазон или есть готовая коллекция (строка, список) Количество итераций заранее неизвестно, есть условие остановки
Типичные номера ЕГЭ № 2 (таблицы истинности), № 8 (комбинаторика), № 17, № 25 № 6 (исполнители), № 12 (редакторы), № 14 (системы счисления)
Управление шагом Автоматическое через range() или перебор итератора Ручное изменение переменной внутри тела цикла
Риск зависания Минимальный (диапазон всегда конечен) Высокий при неверно составленном условии или шаге

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

Разбор типовой задачи: фильтрация чисел на отрезке

Рассмотрим прототип задания 17: необходимо найти количество чисел на отрезке [1050; 8950], которые делятся на 7, не делятся на 11 и оканчиваются на 3 или 5, а также определить минимальное из таких чисел.

Для решения объединяем генератор диапазона range() с логическими условиями if и операторами and, or, not.

\( count = 0 \)
\( min_num = 1000000 \)

# Перебираем отрезок от 1050 до 8950 включительно
for x in range(1050, 8951):
    # Проверяем делимость и последнюю цифру
\(     if (x \% 7 == 0) and (x \% 11 != 0) and (x \% 10 == 3 or x \% 10 == 5): \)
\(         count += 1 \)
\(         if x < min_num: \)
\(             min_num = x \)

print(count, min_num)

Алгоритм последовательно проверяет каждое число из интервала. Если условие истинно, счётчик увеличивается на 1, а переменная min_num обновляется. Программа выполняется меньше чем за одну секунду, гарантируя безошибочный ответ без ручных вычислений.

Что запомнить по циклам и твой следующий шаг

Для успешного применения циклов на экзамене держи в памяти четыре ключевых правила:

1. range(a, b) всегда исключает число b — всегда добавляй единицу к правой границе диапазона поиска.

2. Цикл while незаменим для разбора чисел по цифрам через операции % и //.

3. Оператор break мгновенно прерывает выполнение цикла, а continue переходит к следующей итерации.

4. Вложенные циклы for отлично подходят для перебора таблиц истинности в задании 2 (перебор переменных x, y, z, w со значениями 0 и 1).

Закрепи теорию на реальных задачах: зарегистрируйся в личном кабинете Просто Урок и реши 5 тренировочных заданий по теме бесплатно прямо сейчас.

Частые вопросы

Чем отличаются операторы break и continue?

Оператор break полностью останавливает работу цикла, а continue пропускает остаток текущей итерации и сразу переходит к следующему шагу.

Можно ли обойтись на ЕГЭ только циклом for?

Большинство переборных задач решаются через for, однако для обработки динамических строк в задании 12 и разбора систем счисления удобнее применять while.

Как перебрать все комбинации из 4 переменных в задании 2?

Используй четыре вложенных цикла for x in 0, 1: for y in 0, 1: for z in 0, 1: for w in 0, 1: для полной проверки всех 16 наборов значений.

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

Перейди в бесплатный личный кабинет Просто Урок по ссылке на страницу авторизации и пройди интерактивный онлайн-тренажёр с проверкой кода.

Закрепить тему на практике

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

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