Как использовать цикл «Пока» в Python

12 set 2022 3 min di lettura
Как использовать цикл «Пока» в Python
Indice dei contenuti

Введение

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

В Python есть две основные конструкции цикла for и while.

Этот учебник иллюстрирует основы циклов while в Python. Мы также покажем вам, как использовать оператор else и операторы break и continue.

Python во время цикла

Цикл while выполняет свои операторы неизвестное количество раз, пока данное условие не станет true.

Цикл while Python имеет следующую форму:

while EXPRESSION:
 STATEMENT(S)

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

Параметр EXPRESSION оценивается перед выполнением инструкций. Если условие оценивается как true, выполняется STATEMENT(S). В противном случае, если условие оценивается false, цикл прекращается, и управление программой передается следующему оператору.

Блок STATEMENT(S) начинается с отступа и заканчивается первой строкой без отступа. Большинство людей предпочитают использовать отступ в 4 или 2 пробела. Официальное руководство по стилю для кода Python рекомендует использовать 4 пробела на уровне отступа и избегать смешивания табуляции и пробелов для отступа.

Давайте взглянем на следующий пример кода, который увеличивает и печатает текущее значение переменной i, если оно меньше пяти:

i=0
 while i < 5:
 i += 1
 print('number:', i)

Цикл повторения продолжается до тех пор, пока i не станет меньше или равно пяти. Он выдаст следующий результат:

number: 1
 number: 2
 number: 3
 number: 4
 number: 5

Python поддерживает стандартные операции сравнения:

  • a == b — Истинно, если a и b равны.
  • a!= b — Истинно, если a и b не равны.
  • a > b — Истинно, если a больше, чем b.
  • a >= b — True, если a равно или больше b.
  • a < b — True, если a меньше b.
  • a <= b — True, если a равно или меньше b.

Чтобы инвертировать условное выражение, используйте логический оператор not:

i=0
 while not i >= 5:
 i += 1
 print('number:', i)

Операторы break и continue

Операторы break и continue позволяют управлять выполнением цикла while.

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

В следующем примере выполнение цикла останавливается, когда текущий итерируемый элемент равен 2.

i=0
 while i < 5:
 i += 1
 if i == 2:
 break
 print('number:', i)
Number: 1

Оператор continue завершает текущую итерацию цикла и передает управление программе следующей итерации цикла.

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

i=0
 while i < 5:
 i += 1
 if i == 2:
 continue
 print('number:', i)
number: 1
 number: 3
 number: 4
 number: 5

Остальное

В отличие от других языков, в Python цикл while имеет необязательное условие else:

while EXPRESSION:
 STATEMENT(S)
 else:
 STATEMENT(S)

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

Вот пример:

i=0
 while i < 5:
 i += 1
 print('number:', i)
 else:
 print('Loop completed.')
number: 1
 number: 2
 number: 3
 number: 4
 number: 5
 Loop completed.

Давайте посмотрим, что происходит, когда вы используете оператор break для выхода из схемы:

i=0
 while i < 5:
 i += 1
 if i == 2:
 break
 print('number:', i)
 else:
 print('Loop completed.')

Оператор внутри предложения else не выполняется, поскольку выражение не имеет значения false:

Number: 1

Предложение else с циклом while используется нечасто. Распространенная ситуация, когда вы планируете разорвать цикл, и если цикл продолжает работать до тех пор, пока не будет оценено false условие, вы можете выполнить некоторые операторы или функции.

Бесконечный цикл

Бесконечный цикл — это цикл, который повторяется бесконечно и никогда не заканчивается, пока программа не завершится. Если условие всегда оценивается как истинное, получается бесконечный цикл.

Бесконечные циклы обычно используются, чтобы заставить программу ожидать возникновения внешнего события. Как правило, в Python бесконечный цикл создается с помощью while True: вместо True вы также можете использовать любое другое выражение, которое всегда возвращает true.

Вот пример бесконечного цикла while, который будет постоянно просить вас ввести « Да »:

while True:
 i = input('Please enter \'Si\': ')
 if i.strip() == 'Si':
 break

Цикл while будет работать до тех пор, пока вы не введете «Да»:

Please enter 'Si': 3
 Please enter 'Si': l
 Please enter 'Si': 3
 Please enter 'Si': No
 Please enter 'Si': Si

Другой способ завершить бесконечный цикл — нажать CTRL+C

При написании бесконечных циклов обязательно используйте оператор break для выхода из цикла в какой-то момент.

Вывод

Цикл while многократно выполняет свои операторы, пока данное условие оценивается как true.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.