Цикл
whileв Python - этоif(условие) при повторении. Циклforв Python - это присваивание при повторении.
Конструкция while выполняет код внутри цикла до тех пор, пока условие остаётся истинным. Как только условия перестаёт быть истинным, цикл завершается. В Python, как и в C, любое ненулевое целочисленное значение имеет значение истины True, ноль - это лож, False. Условие также может быть строкой или списком, фактически любой последовательностью. Все, что имеет ненулевую длину, имеет значение True, пустые последовательности - False. Стандартные операторы сравнения пишутся так же, как в C: < (меньше), > (больше), == (равно), <= (меньше или равно), >= (больше или равно) и != (не равно).
count = 3 while count < 7: print(count, " < 7") count = count + 1 else: print (count, " = 7") # Код выведет: # 3 < 7 # 4 < 7 # 5 < 7 # 6 < 7 # 7 = 7
Цикл while еще называют циклом с предусловием.
Пример бесконечного цикла, будет выполняться, пока вы не нажмете Ctrl+C:
while True: print('бесконечность ', end='')
Бесконечные циклы, как правило, являются одним из источников неустойчивой работы программы.
while.Конструкция while используется для повторного выполнения кода внутри цикла, пока выражение истинно True:
while_stmt :: = "while" expression":" suite ["else" ":" suite]
Выражение expression поддерживает цепочки сравнения, а также допускает указание нескольких условий, связанных логическими (булевыми) операторами OR, AND и NOT. Например:
while 0 < y <= 100: ... # эквивалентно while 0 < y and y <= 100: ...
Конструкция while многократно проверяет выражение expression, при этом выполняет код внутри блока while, и если expression стало ложно FALSE, то выполняется код внутри блока else, если он присутствует, и цикл завершается.
break: выполняется код внутри while до оператора break и завершает цикл без выполнения блока внутри else.continue: выполняется код внутри while до оператора continue, пропускает оставшуюся часть кода и возвращается к проверке выражения.Применим оператор break и continue в коде while/else и посмотрим на их поведение. Будем создавать список четных чисел из последовательности чисел от 0 до 14
lst = list(range(15)) new_lst = [] i = 0 while len(new_lst) < 13: i += 1 # если число 8 есть в новом списке if 8 in new_lst: # прерываем цикл, при этом блок else не выполнится break # остаток от деления элемента списка a = lst[i] % 2 # если элемент списка не четный if a != 0: # пропускаем оставшийся код continue # добавление в список числа new_lst.append(lst[i]) else: print ("Напечатает, если убрать условие с break") print(new_lst) # Код выведет: [2, 4, 6, 7]