Введение

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

Термины, которые будем использовать: цикл, переменная цикла, итерация, оператор in, операторы управления циклом: break и continue.

Что такое цикл?

Цикл — это многократное повторение одних и тех же действий. В языках программирования выделяют две разновидности циклов, сегодня мы рассмотрим одну из них.

Забирай курсы подготовки к ОГЭ и ЕГЭ с жирной скидкой

Цикл for

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

Простыми словами, цикл for — это как конвейерная лента. Ты берёшь коллекцию предметов (например, коробку с яблоками) и выполняешь с каждым предметом одно и то же действие (например, «проверить на спелость»).

Назначение цикла for

  1. Автоматизировать повторяющиеся действия.
  2. Обрабатывать каждый элемент коллекции.
  3. Выполнять код определённое количество раз.
  4. Перебирать данные без ручного указания индексов.
  5. Избегать дублирования кода.

Структура цикла

for переменная in набор_данных:
# действие с переменной

for — ключевое слово для обозначения начала цикла.

В качестве переменной на второй позиции ты можешь указать любое имя (обычно используют iдля указания на индекс). Такая переменная называется переменной цикла. На каждой итерации она принимает следующее значение из переданного набора данных.

Важно!

Итерация — выполнение блока кода из тела цикла ровно 1 раз.

in — это оператор, который в контексте цикла for указывает, откуда брать значения для переменной цикла. На каждой итерации переменная принимает следующий элемент из переданной коллекции данных.

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

Эта функция принимает 3 аргумента, из которых только один является обязательным (остальные можно не передавать).

range(start, end, step)

start — целое число, которое является началом диапазона (необязательный параметр, по умолчанию start = 0).

end — целое число, которое является концом диапазона (обязательный параметр).

step (шаг) — целое число, которое указывает, на сколько увеличивается (или уменьшается) значение переменной цикла на каждой итерации (необязательный параметр, по умолчанию шаг = 1)

Важно!

Вторая граница диапазона в цикле берётся не включительно, то есть переменная цикла принимает значения [start, end).

Рассмотрим результаты работы разных циклов:

for i in range(0, 5, 1):

print(i, end = “ “)

Вывод: 0 1 2 3 4

Шаг 1 можно не указывать:

for i in range(0, 5):

print(i, end = “ “)

Вывод: 0 1 2 3 4

Начальную позицию 0 можно так же опустить:

for i in range(5):

print(i, end = “ “)

Вывод: 0 1 2 3 4

Каждый цикл выполнился 5 раз, то есть было 5 итераций с выводом значения переменной цикла.

Шаг может быть отрицательным, тогда важно, чтобы начальная позиция была больше конечной:

for i in range(5, 0, -1):

print(i, end = “ “)

Вывод: 5 4 3 2 1

0 не будет выведен, так как вторая граница не включается, мы остановимся на предыдущем от неё значении, то есть на 1.

Если нужно перебирать только нечётные:

for i in range(1, 5, 2):

print(i, end = “ “)

Вывод: 1 3

Операторы управления циклом. break и continue

Оператор break позволяет досрочно завершить выполнение цикла, его обычно ставят в тело условного оператора для прерывания цикла при выполнении некоторого условия.

Например:

for i in range(1, 10, 2):

print(i, end = “ “)

if i == 5:

break

Вывод: 1 3 5

5 будет выведена, поскольку условный оператор стоит после функции print() и брейк прервёт цикл после вывода 5 в консоль.

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

Например:

for i in range(10):

if i % 2 == 0:

continue

# дальнейший код будет пропущен при работе continue

print(i, end = “ “)

Вывод: 1 3 5 7 9

Такая конструкция будет пропускать все чётные числа и распечатывать только нечётные.

Практика

Предлагаю закрепить изученную тему на лёгких задачах!

Задача 1. Сумма до первого числа, кратного 7

Программа просит ввести целое число N. Используя цикл for, найди сумму чисел от 1 до N включительно, но если встретится число, кратное 7 (делится на 7 без остатка), прекрати суммирование (даже если не достигли N). Выведи полученную сумму.

Задача 2. Пропуск чётных чисел

Напиши программу, которая запрашивает число N. Выведи все нечётные числа от 1 до N включительно.

Задача 3. Поиск первого делителя

Напиши программу, которая запрашивает число X. Найди первый делитель числа X в диапазоне от 2 до X-1. Если делитель найден, выведи его и заверши цикл. Если делителей нет, выведи 0.

Задача 4. Числа, не кратные 3

Напиши программу, которая запрашивает число N. Выведи все числа от 1 до N, которые не делятся на 3.

Задача 5. Пока не превысит лимит

Напиши программу, которая запрашивает число M. Суммируй числа, начиная с 1, прибавляя каждый раз на 1 больше, пока сумма не станет больше M. Используй цикл for с break. Выведи последнее добавленное число и итоговую сумму через пробел.

Решения

N = int(input())

total = 0

for i in range(1, N + 1):

if i % 7 == 0:

break

total += i

print(total)

N = int(input())

for i in range(1, N + 1, 2):

print(i)

X = int(input())

divisor = 0

for i in range(2, X):

if X % i == 0:

divisor = i

break

print(divisor)

N = int(input())

for i in range(1, N + 1):

if i % 3 == 0:

continue

print(i)

M = int(input())

total = 0

last_num = 0

for i in range(1, M + 1):

total += i

last_num = i

if total > M:

break

print(last_num, total)

Автор:

Быкова Оксана, методист «100балльного репетитора» по информатике ЕГЭ

Забирай курсы подготовки к ОГЭ и ЕГЭ с жирной скидкой

В 100б ты пробьёшь свой
максимум на экзаменах

наши лучшие курсы

Выбери подходящий курс и предмет, чтобы прокачаться и сдать ОГЭ на «5», а ЕГЭ на 80+ баллов

Выбрать курс

бесплатные материалы

Курсы, вебы, чек-листы — всё за 0 ₽

Забрать за 0 ₽

Интенсив по поступлению

Запишись на интенсив по поступлению, чтобы
взять из ЕГЭ максимум и попасть в вуз мечты

Записаться
В 100балльном репетиторе ты пробьёшь свой максимум на экзаменах

Преимущества подготовки
в 100балльном

10+
лет средний опыт наших преподавателей

18
выпускников сдали ЕГЭ
на 200 из 200 в 2024 году

300k+
учеников поступили в вуз мечты с нашей помощью 

14%
стобалльников России — наши выпускники

2 347
выпускника сдали ЕГЭ на 100 баллов

Преимущества подготовки в 100балльном

Запишись
на бесплатный
вводный урок

Познакомим с преподавателями и платформой

Расскажем про учёбу

Поможем поставить цель

  • 11 класс
  • 10 класс
  • 9 класс
  • 8 класс
  • 7 класс
Запись на вводный урок