📌ЦИКЛ FOR - НАДЁЖНЫЙ ПОМОЩНИК В РЕШЕНИИ ПОВСЕДНЕВНЫХ ЗАДАЧ
📌ЦИКЛ FOR В PYTHON — МОЩНЫЙ ИНСТРУМЕНТ, КОТОРЫЙ МОЖЕТ ЗНАЧИТЕЛЬНО УПРОСТИТЬ ЖИЗНЬ ПРОГРАММИСТА
◾Цикл for — это управляющая конструкция, которая выполняет определённые инструкции заданное количество раз или до тех пор, пока не будет выполнено условие.
Цикл for нужен для того, чтобы автоматизировать выполнение повторяющихся действий. С его помощью можно перебрать элементы последовательности (списка или строки) и выполнить над ними какие-либо операции. Это позволяет избежать ручного написания кода и сделать программу эффективной.
Цикл for в Python — мощный инструмент, который может значительно упростить жизнь программиста
Цикл for можно сравнить с конвейером на заводе. Каждый элемент последовательно обрабатывается и переходит на следующий этап производства.
Тело цикла выполняется для каждого элемента последовательности, как рабочие выполняют свою задачу на конвейере. Это позволяет автоматизировать повторяющиеся операции и ускорить процесс обработки данных.
С помощью цикла FOR можно перебрать элементы последовательности: списка, кортежа или строки
🔃Что такое ОБРАБОТКА ПОСЛЕДОВАТЕЛЬНОСТЕЙ?
Аналогия из жизни: покупка продуктов в супермаркете. Представьте, что у вас есть список продуктов, которые вам нужно купить: молоко, сыр, хлеб и фрукты. Вы можете пройтись по этому списку поочередно, беря каждый продукт из списка и помещая его в корзину.
Итак, процесс будет выглядеть следующим образом:
- У вас есть список продуктов: ['молоко', 'сыр', 'хлеб', 'фрукты']
- Вы начинаете цикл for и проходите по каждому элементу списка.
- Для каждого продукта в списке (первый элемент - молоко, второй - сыр и т.д.), вы берете этот продукт и помещаете его в корзину.
- После того как вы пройдетесь по всем элементам списка, у вас будет заполненная корзина с товарами, которые вы хотели купить.
С помощью цикла for вы можете как создавать список продуктов и заполнять корзину, так и разбирать готовую корзину с продуктами.
Также, данный цикл используется при работе с файлами, для чтения или записи данных.
Как записать цикл for в Python?
for — конструкция, с которой и начинается цикл.
i — переменная цикла (счётчик цикла). Можно присвоить любое имя. Принято использовать именно (i), от первой буквы слова «item», что в переводе означает «позиция».
in — оператор. Определяет каждый элемент последовательности, который будет присвоен переменной цикла.
В данном примере, in указывает на то, что переменная i будет последовательно принимать значения от 0 до 4, поочередно проходя элементы последовательности range(5).
Что такое RANGE?
Range — это встроенная функция в Python, которая генерирует последовательность чисел. Она может быть полезна при работе с циклами, например, для перебора элементов списка или выполнения повторяющихся действий заданное количество раз.
Функция range() необходима для создания цикла for с повторяющимися действиями
Синтаксис функции range:
range(start, stop, step)
- start (необязательный параметр) — начальное значение последовательности
- stop — конечное значение последовательности (не включая его)
- step (необязательный параметр) — шаг последовательности. По умолчанию равен 1
Функция range() хранит в себе список чисел, который начинается с первого указанного в скобках числа и заканчивается числом, на единицу меньшим второго. Поэтому range(1,4) — это 1, 2, 3
Вот несколько примеров использования функции range:
- Создание последовательности чисел от 0 до 4 (включительно):
- Создание последовательности чисел с шагом 2:
Рассмотрим детально параметры функции range(2, 11, 2):
[2] — начальное значение последовательности.
[11] — конечное значение последовательности (не включая его, x = 10).
[2] — шаг последовательности. При каждом шаге переменная (х) будет увеличиваться на 2. Сначала х = 2, потом х = 2 + 2 = 4, потом х = 6, х = 8 и х = 10.
- Создание последовательности чисел от 8 до 1 (не включительно) с шагом -2:
Рассмотрим детально параметры функции range(8, 1, -2):
- [8] — начальное значение последовательности
- [1] — конечное значение последовательности (не включая его j = 2)
- [- 2] — шаг последовательности. При каждом новом шаге переменная (j) будет уменьшаться на 2. Сначала j = 8, потом j = 8 - 2 = 6, потом j = 4 и j = 2.
Range — это встроенная функция в Python, которая генерирует последовательность чисел.
range(1,4) = 1, 2, 3
Цикл FOR со строками (str)
для перебора элементов последовательности (строки)
Цикл for по очереди проходит по каждому символу в строке и выполняет указанный внутри цикла код. Это позволяет работать с каждым символом строки отдельно.
❶ Вывод каждого символа строки на экран:
В данной программе цикл for проходит по каждому символу строки (s). Переменная (i) будет равна соответствующему символу i = H, i = e, i = l, i = p. Так как внутри цикла записана функция print(), то каждое значение переменной (i) будет выводиться на экран.
❷ Вывод каждого индекса и символа строки на экран:
- index() — служебный метод в Python, ищет в строке определённое значение (подстроку) и возвращает его позицию
Это как если бы вы искали слово в книге и отмечали, на какой странице оно находится.
Нумерация индексов в Python начинается с нуля
❸ Вывод каждого индекса и символа строки с помощью функции range()
- len() — встроенная функция. Определяет количество символов в строке
- len('Help') = 4
🔃Отличие данного примера от предыдущего в обозначении индекса строки. В функцию print() передаётся дополнительный аргумент s[i] - индекс текущего элемента.
Что значит s[i] - ?
- s — имя переменной, в данном примере это строка (s = 'Help')
- i — переменная цикла, последовательно принимает значения от 0 до 4
- s[i] — элемент с номером индекса (i) из строки (s)
Так как цикл for будет проходить по элементам последовательности от 0 до 4, то первое значение для i = 0. Соответственно, Python определит, что место (индекс), которое занимает символ H, равно 0. Так как данный символ стоит на первом месте. Поэтому s[H] = 0.
🔝В данном примере цикл будет запущен не по самой строке (s), а по длине строки. Поэтому, переменная (i) будет принимать значения от 0 до 4, то есть до длины строки.
❹ Вывод длины строки на экран с помощью функции len()
❗Цикл for для решения Задания №12 ЕГЭ
как можно использовать цикл при решении задания №12 ЕГЭ (Исполнитель Редактор)
Рассмотрим условие одного из заданий ЕГЭ №12:
К исходной строке, содержащей более 60 единиц и не содержащей других символов...
Как создать строку, содержащую более 60 единиц? Ведь, точное количество единиц не известно!
Используем цикл for для создания необходимого количества строк.
Благодаря принципу работы данного цикла, можно создавать строки с любым количеством единиц (61 единица, 62 единица и так далее). Цикл for будет самостоятельно увеличивать переменную, которая отвечает за длину строки.
Для начала, попробуем разобраться с более простым примером:
После выполнения кода, на экране появится четыре различные строки. Данный ответ удаётся получить, используя цикл for. Каждый проход цикла, в переменную (s) записывается новая строка. Благодаря операции конкатенации (склеивания строк), удаётся получить на выходе строки различной длины.
'1' * 1 = '1'
'1' * 2 = '11'
'1' * 3 = '111'
В Python операция '1' * i является операцией конкатенации (склеивания) строки, где строка '1' повторяется i-ое количество раз.
Если в команде print(s) добавить ещё и переменную (i), то можно отследить как изменяется строка в зависимости от переменной цикла.
Код программы, для создания строки, содержащей более 60 единиц и не содержащей других символов:
🆘Важный момент:
Внимательный читатель заметит, что в условии не указано конечное количество единиц.
К исходной строке, содержащей более 60 единиц
Какое тогда указать второе число в функции range()? Всё на интуитивном уровне. Как правило, большие числа указывать не нужно. Так как составители заданий ЕГЭ, учитывают этот момент. Ответ будет находиться где - то недалеко. Диапазон от 5 до 20 значений максимум.
range(61, 70) или range(61, 80) или range(61, 100)
Также, стоит не забывать про оператор break. В Python данный оператор используется для досрочного прерывания цикла.
Этот код выведет на экран числа от 0 до 3. Затем прервёт цикл, когда переменная (x) станет равна 4.
len() — встроенная функция. Определяет количество символов в строке.
Цикл for со списками (list)
используется для перебора элементов и индексов в списках (list), упрощает работу с последовательностями
Вспоминаем аналогию из жизни про список продуктов в супермаркете, в начале статьи:
Представьте, что у вас есть список продуктов, которые вам нужно купить: молоко, сыр, хлеб и фрукты. Вы можете пройтись по этому списку поочередно, беря каждый продукт из списка и помещая его в корзину.
▶ Рассмотрим, как это выглядит на практике:
▶ Вывод всех элементов списка, состоящего из чисел, на экран:
▶ Вывод элементов, кратных 2, на экран.
Данная программа выводит на экран элементы списка, кратные 2.
Функция enumerate()
используется для одновременного вывода элементов и их числовых индексов из итерируемого объекта
Синтаксис:
enumerate(iter(последовательность))
Пример использования функции enumerate() со списком:
Обычный цикл for просто перебирает элементы последовательности без дополнительной информации об объекте их положении. В некоторых случаях это может усложнить код или сделать его менее эффективным.
Функция enumerate() позволяет получить индекс (номер элемента) вместе со значением элемента из итерируемого объекта (списка).
Итерируемый объект (iterable) в программировании — это объект, который может быть повторен или пройден циклом.
Итерируемый объект - это объект, через который можно пройтись поочередно, получая доступ к его элементам.
🆕Для более подробно изучения списков (list) в Python, рекомендую ознакомится со следующей статьей:
Цикл for + оператор else
Оператор else в цикле for используется для выполнения блока кода после завершения всех итераций цикла, если цикл был завершен без использования оператора break.
Внимательно посмотрите на 2 примера:
❶ Выполнение цикла for + надпись 'Цикл for завершён':
В первом примере после выполнения цикла for сработает оператор else. Поэтому, на экране появится надпись: 'Цикл for завершён'. Теперь внимательно посмотрите на второй пример и на результат выполнения его программы:
❷ Выполнение цикла for + отсутствие надписи 'Цикл for завершён':
Почему print('Цикл for завершён') не выполнил свою команду и не отобразил надпись на экране?
Цикл for завершил свою работу досрочно, благодаря оператору else. Когда переменная (i) стала равна 3, выполнилось условие для (if) и сработал оператор break.
Оператор else после цикла for работает только в том случае, если цикл for выполнен полностью, каждый его шаг, каждая итерация. Если цикл был прерван, с помощью оператора break, то конструкция else не выполнится.
🆘Важное замечание:
Стоит отметить, что речь идёт именно о связке цикла for + оператора else. Когда они располагаются на одном уровне в программе. И оператор else стоит после цикла for. В других случаях, когда else используется с оператором if и находится внутри цикла, данная связка (for + else) не работает.