Python сегодня является таким мощным языком, и использование его инструментов приносит вам только пользу. Прежде чем перейти сразу к продвинутым инструментам Python. Давайте посмотрим на циклы в Python, которые можно отсортировать как базовые знания.

Прежде чем мы перейдем к различным петлям, давайте поговорим о самих петлях.

Петли в целом

Циклы используются для итерации по блоку кода определенное количество раз. У вас могут быть разные подходы к зацикливанию, и мы рассмотрим их прямо сейчас.

Для

Этот цикл используется для перебора какой-то последовательности. Это может быть список, кортеж, словарь, строка и т. Д.

В других языках программирования цикл for служит ключевым словом, а в Python и других языках программирования - как метод итератора.

Все, что находится внутри оператора for, будет выполнено несколько раз.

Давайте рассмотрим несколько примеров, чтобы понять, как это работает.

Примеры

Итерация списка

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

list = ["loops", "in", "python"]
for element in list:
  print(element)

Выход:

loops
in
python

Стоит упомянуть, что оператор печати автоматически переводит строку или новую строку.

* list и element, и оба являются просто именами переменных, поэтому не стесняйтесь изменять их для своей собственной реализации.

Итерация строки

В этом примере мы берем строку и печатаем каждый символ внутри этой строки.

string = "loops"
for character in string:
  print(character)

Выход:

l
o
o
p
s

Перерыв

Оператор break очень полезен для перехвата цикла for. Давайте посмотрим на пример:

list = ["loops", "in", "python"]
for element in list:  
  if element == "python":
    break 
  print(element)

Выход:

loops
in

Результат выглядит так, потому что, как только элемент в списке сопоставляется с «python», он вырывается из цикла for и немедленно завершается.

Продолжать

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

list = ["loops", "in", "python"]
for element in list:  
  if element == "in":
    continue 
  print(element)

Выход:

loops
python

Он пропустит печатную часть «in» и просто перейдет к печати «python».

Диапазон

Вы можете комбинировать функцию range () с циклом for, чтобы указать, сколько итераций она должна пройти.

for element in range(3):
  print(element)

Выход:

0
1
2

Функция диапазона начинается с 0 и заканчивается n-1, поскольку с нулем у нас есть n чисел.

Вы также можете определить начало диапазона следующим образом:

for element in range(1,3):
  print(element)

Выход:

1
2

Еще одна вещь, которой вы можете манипулировать, - это определение своего «шага» между итерациями. По умолчанию - один.

for element in range(2, 10, 4):
  print(element)

Выход:

2
6

Еще

Даже если вы не используете If, вы можете комбинировать else с циклом for. Позвольте мне показать вам, как:

for element in range(1,3):
  print(element)
else:
  print("Python is super fun!")

Выход:

1
2
Python is super fun!

Как только цикл будет прерван, вы выведете строку в операторе else.

Проходить

Вы не можете оставить цикл for пустым, но когда вы введете pass, вы не получите ошибку компиляции.

for x in range(3):
  pass

Выход:

В то время как

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

Давайте взглянем на несколько разных примеров!

cnt = 1
while cnt <= 3:
  print(cnt)
  cnt += 1

Выход:

1
2
3

Мы устанавливаем счетчик на 1 и каждый раз, когда он выполняет итерацию, мы увеличиваем его на 1, пока он не достигнет 3 и не закончится.

Мы также можем комбинировать цикл while с другими операторами и командами.

Перерыв

Очень похожая концепция на перерыв.

cnt = 1
while cnt < 3:
  print(cnt)
  if (cnt == 2):
    break
  cnt += 1

Выход:

1
2

Продолжать

Очень похожая концепция на continue.

cnt = 1
while cnt < 3:
  print(cnt)
  if (cnt == 2):
    continue
  cnt += 1

Выход:

1
3

Еще

Очень похожая концепция на continue.

cnt = 1
while cnt < 3:
  print(cnt)
  cnt += 1
else:
  print("Very funny")

Выход:

1
2
Very funny

Вложенные циклы

Это не что иное, как цикл внутри другого цикла.

Для вложенных циклов

list1 = ["loops", "in", "python"]
list2 = ["nested", "loops", "are", "fun"]
for element1 in list1:
  for element2 in list2:
    print(element1, element2)

Выход:

loops nested
loops loops
loops are
loops fun
in nested
in loops
in are
in fun
python nested
python loops
python are
python fun

Он берет одно слово из первого списка и одно из второго и составляет все комбинации.

Спасибо за чтение!