Циклы

Циклы

@ProgHelpBot
  1. Цикл while
  2. Цикл for
  3. Вложенность
  4. Выход из цикла

Цикл while

Проверяет истинность некоторого условия, и если условие истинно, то выполняет инструкции цикла.

while [условное выражение]:
  [инструкции]

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

Все инструкции, которые относятся к циклу while, располагаются на последующих строках и должны иметь отступ от начала ключевого слова while.

a = 0;

while a < 5:
  a += 1
  print(a)

print("End")

Результат:

1
2
3
4
5
End

Для цикла while также можно определить дополнительный блок else, инструкции которого выполняются, когда условие равно False.

a = 10;

while a < 5:
  a += 1
  print(a)
else:
  print(a)

print("End")

Результат:

10
End

Цикл for

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

for [переменная] in [набор значений]:
  [инструкции]

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

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

text = "Hello"
for letter in text:
  print(letter)

print("End")

Результат:

H
e
l
l
o
End

Результат:

1
2
3

Цикл for также может иметь дополнительный блок else, который выполняется после завершения цикла.

text = "Hello"

for letter in text:
  print(letter)
else:
  print(f"Last letter: {letter}")

print("End")

Результат:

H
e
l
l
o
Last letter: o
End

Вложенность

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

i = 1
j = 1

while i < 10:
  while j < 10:
    print(i * j, end="\t")
    j += 1
  print("\n")
  j = 1
  i += 1

Результат:

1   2   3   4   5   6   7   8   9 
2   4   6   8   10  12  14  16  18 
3   6   9   12  15  18  21  24  27 
4   8   12  16  20  24  28  32  36 
5   10  15  20  25  30  35  40  45 
6   12  18  24  30  36  42  48  54 
7   14  21  28  35  42  49  56  63 
8   16  24  32  40  48  56  64  72 
9   18  27  36  45  54  63  72  81

Выход из цикла

Для управления циклом используются специальные операторы break и continue. Оператор break осуществляет выход из цикла. А оператор continue выполняет переход к следующей итерации цикла.

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

a = 0

while a < 5:
  a += 1
  if a == 3:
    break
  print(a)

print("End")

Результат:

1
2
End

В отличие от оператора break оператор continue выполняет переход к следующей итерации цикла без его завершения.

a = 0

while a < 5:
  a += 1
  if a == 3:
    continue
  print(a)

print("End")

Результат:

1
2
4
5
End


← Условные конструкции

→ Функции

Report Page