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

Функция диапазона
Прежде чем мы углубимся в циклы for, давайте сначала обсудим встроенную в Python функцию range(), которая обычно используется с циклами for. Это удобно, когда вам нужно перебрать последовательность чисел. Эта функция возвращает последовательность из n чисел, начиная с 0 и увеличиваясь на единицу по умолчанию. Он имеет следующий синтаксис:
range(start, stop, step)
Где:
- Начало – необязательный параметр. Это целое число, определяющее начало. Значение по умолчанию: 0.
- Стоп — обязательный параметр. Это целое число, указывающее, где последовательность остановится. Он не включен в последовательность.
- Шаг – это еще один необязательный параметр, указывающий номер обвинения. По умолчанию он равен 1.
Например, следующий код сгенерирует последовательность из 5 чисел, начиная с нуля.
range(5) #output range(0,5)
Чтобы проверить длину последовательности, мы можем использовать метод len:
print(len(range(5))) #output 5
Мы можем использовать цикл for для печати последовательности, сгенерированной функцией диапазона. Вскоре мы обсудим синтаксис и детали цикла for.
for i in range(5):
print(i)

Операторы сравнения
Также важно понимать различные операторы сравнения в Python при работе с циклами for. Операторы сравнения позволяют сравнивать два значения и возвращать логическое значение (True/False). Python имеет следующие операторы сравнения.

Для цикла Синтаксис
Теперь, когда у вас есть общее представление о функции range() и вы знакомы с операторами сравнения Python, давайте вернемся к нашему обсуждению цикла for. Цикл for обеспечивает способ перебора последовательности, такой как строка, список, кортеж или словарь. Он имеет следующий синтаксис:
for var in iterable:
statement(s)
Где:
- forявляется ключевым словом
- var – это определяемый пользователем итератор, который берет элементы из списка один за другим
- итерируемый: последовательность, такая как строка, список, кортеж и т. д.
- оператор(ы): формирует тело цикла
Обратите внимание, как оператор(ы) имеет отступ, указывающий на тело цикла. Кроме того, цикл выполняется до тех пор, пока не будет достигнут последний элемент последовательности.
Следующая блок-схема представляет логику цикла for:

Чтобы развить интуицию, давайте представим, что у вас есть корзина, полная фруктов, и вы хотите вынимать каждый фрукт один за другим. Итак, вы пишете программу, которая выводит каждый фрукт по мере того, как мы его берем, пока фруктов не останется. Это будет выглядеть примерно так:
# list of fruits in basket
fruits = ["apple","banana","grapes","orange","kiwi"]
# print all fruits in basket
for fruit in fruits:
print(fruit)

Вложенные циклы
Также возможно включить другой цикл for внутри цикла for. Это называется вложенным циклом for. Например, предположим, что теперь вы хотите распечатать буквы, из которых состоит название каждого фрукта. Мы бы изменили наш код, чтобы он выглядел следующим образом:
# list of fruits in basket
fruits = ["apple","banana","grapes","orange","kiwi"]
# print all fruits in basket
for fruit in fruits:
print(fruit)
# print each letter in fruit name
for letter in fruit:
print(letter)

Оператор break в цикле for
Подобно циклу while, оператор break используется в цикле for для немедленного выхода из цикла. Программа продолжает работать как обычно после цикла for. Чтобы увидеть, как это работает, давайте изменим наш предыдущий код, чтобы он прерывался после печати винограда.
# list of fruits in basket
fruits = ["apple", "banana", "grapes", "orange", "kiwi"]
# print all fruits in basket
for fruit in fruits:
print(fruit)
# break after printing grapes
if fruit == "grapes":
break
# code after for loop
print("Exited loop!")

Продолжить Заявление
Предложение continue похоже на оператор break в том, что оно прерывает выполнение цикла for. Однако, в отличие от оператора break, оператор continue не существует целиком в цикле. Вместо этого он пропускает текущую итерацию цикла и продолжает следующую итерацию. Давайте вернемся к нашему предыдущему примеру и изменим break, чтобы продолжить видеть, как меняется вывод. Вы заметите, что для того, чтобы это работало, мы должны поместить наш оператор печати после оператора continue.
# list of fruits in basket
fruits = ["apple", "banana", "grapes", "orange", "kiwi"]
# print all fruits in basket
for fruit in fruits:
# break after printing grapes
if fruit == "grapes":
continue
print(fruit)
# code after for loop
print("Exited for loop!")

Оператор Else в цикле for
Вы можете быть знакомы с предложением else при работе с операторами if. Python также допускает необязательное предложение else в цикле for. Это будет выполнено только в том случае, если цикл for завершится нормально из-за исчерпания. Однако он не выполняется, если цикл завершается досрочно из-за оператора break или return. Мы можем изменить наш код фруктов, чтобы сообщить нам, когда все фрукты будут удалены из корзины, используя оператор else.
# list of fruits in basket
fruits = ["apple", "banana", "grapes", "orange", "kiwi"]
# print all fruits in basket
for fruit in fruits:
# break after printing grapes
print(fruit)
else:
# notify us when done
print("All fruits removed from basket!")

Заключение
Мы подошли к концу нашего урока. Если вы следовали примерам, теперь у вас должно быть общее представление о циклах и о том, как использовать операторы else, break и continue. Теперь ваша очередь тренироваться. Посетите этот веб-сайт для получения списка упражнений, с которых вы можете начать. Как всегда, лучший способ научиться — это попрактиковаться в том, чему вы пытаетесь научиться.