Циклы — одна из фундаментальных концепций языков программирования. Циклы используются для выполнения повторяющихся задач до тех пор, пока не будет выполнено определенное условие.
В Python есть две основные конструкции циклов, которые позволяют многократно повторять блок кода: циклы for и while
В этой статье мы рассмотрим основы for в Python. Мы также покажем вам, как использовать range для генерации последовательности чисел, а else break и continue для изменения потока цикла.
Содержание
for в Python
Цикл for в Python перебирает элементы последовательности и многократно выполняет блок операторов.
Цикл for Python имеет следующую форму:
for item in sequence:
statements
Оператор for начинается с for , затем переменной ( item ), которой назначается каждый элемент последовательности (цель управления циклом), за которым следует in и, наконец, последовательность. Каждый условный оператор заканчивается двоеточием ( : ).
Блок statements начинается с отступа и заканчивается первой строкой без отступа. Большинство людей предпочитают использовать отступы с четырьмя или двумя пробелами. Официальное руководство по стилю для кода Python рекомендует использовать 4 пробела для каждого уровня отступа и избегать смешивания использования табуляции и пробелов для отступа.
Вот пример:
berries = ["Blueberry", "Raspberry", "Strawberry"]
for berry in berries:
print(berry)
Blueberry
Raspberry
Strawberry
Вы можете перебирать любую последовательность, такую как строка, список, словарь или кортеж.
В приведенном ниже коде мы перебираем символы в строке linux:
for x in 'linux':
print(x)
l
i
n
u
x
При просмотре словаря переменная присваивается ключу:
berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}
for key in berries:
print(key)
Blueberry
Raspberry
Strawberry
Для доступа к значениям словаря используйте индекс ключа:
berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}
for key in berries:
print(berries[key])
Другой вариант для цикла по значениям словаря — использовать метод values() :
berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}
for value in berries.values():
print(value)
Результат обоих примеров одинаков:
100
125
150
Конструктор range()
Конструктор Python range() позволяет генерировать последовательность целых чисел, определяя начальную и конечную точки диапазона. range() работает по-разному в Python 2 и 3. В этой статье мы используем Python 3.
range() обычно используется с for для перебора последовательности чисел. Это Python-эквивалент цикла for
Когда указан только один аргумент, range возвращает последовательность чисел, увеличенных на 1, начиная с 0 до argument - 1 :
for i in range(3):
print(i)
0
1
2
Если указаны два аргумента, range возвращает последовательность чисел, увеличенных на 1, начиная с первого аргумента до second argument - 1 :
for i in range(3, 5):
print(i)
3
4
Третий аргумент позволяет указать приращение:
for i in range(0, 16, 5):
print(i)
0
5
10
15
Вложенный for цикл
Вложенный цикл — это цикл внутри другого цикла. Они часто используются для обработки итерируемого объекта, содержащего итерируемые элементы:
for i in range(0, 6):
for j in range(0, 6):
print('%d + %d = %d' % (i, j, i+j))
0 + 0 = 0
0 + 1 = 1
0 + 2 = 2
...
5 + 3 = 8
5 + 4 = 9
5 + 5 = 10
Операторы break и continue
Операторы break и continue позволяют контролировать выполнение цикла for .
Оператор break
Оператор break завершает текущий цикл и передает управление программой оператору, следующему за циклом. При использовании внутри вложенного цикла break завершает самый внутренний цикл.
В следующем примере мы используем if для прекращения выполнения цикла, когда текущий повторяемый элемент равен ‘Raspberry’:
for i in ["Blueberry", "Raspberry", "Strawberry"]:
if i == "Raspberry":
break
print(i)
Blueberry
Оператор continue
Оператор continue завершает текущую итерацию цикла и передает управление программой следующей итерации цикла. Цикл не прерывается; пропускается только текущая итерация.
В следующем примере мы перебираем диапазон чисел. Когда текущий повторяемый элемент равен ‘3’, continue приведет к возврату выполнения к началу цикла и продолжению следующей итерации:
for i in range(1, 6):
if i == 3:
continue
print(i)
1
2
4
5
Пункт else
В Python for может иметь необязательное предложение else
Предложение else выполняется, когда цикл завершается нормально, то есть когда все итерации исчерпаны:
for i in ["Blueberry", "Raspberry", "Strawberry"]:
print(i)
else:
print('Loop completed.')
Blueberry
Raspberry
Strawberry
Loop completed.
Когда цикл завершается break или continue , предложение else не выполняется:
for i in ["Blueberry", "Raspberry", "Strawberry"]:
if i == "Raspberry":
break
print(i)
else:
print('Loop completed.')
Blueberry
Вывод
Цикл for Python используется для многократного выполнения блока кода фиксированное количество раз.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
аГГ