Циклы
@ProgHelpBotЦикл 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