Управление циклом else python

Циклы for и while, операторы break и continue, волшебное слово else

Python 3 логотип

В этой статье я расскажу о циклах for и while, операторах break и continue, а также о слове else, которое, будучи употребленное с циклом, может сделать программный код несколько более понятным.

Цикл while

While — один из самых универсальных циклов в Python, поэтому довольно медленный. Выполняет тело цикла до тех пор, пока условие цикла истинно.

Цикл for уже чуточку сложнее, чуть менее универсальный, но выполняется гораздо быстрее цикла while. Этот цикл проходится по любому итерируемому объекту (например строке или списку), и во время каждого прохода выполняет тело цикла.

Оператор continue

Оператор continue начинает следующий проход цикла, минуя оставшееся тело цикла (for или while)

Оператор break

Оператор break досрочно прерывает цикл.

Слово else, примененное в цикле for или while, проверяет, был ли произведен выход из цикла инструкцией break, или же «естественным» образом. Блок инструкций внутри else выполнится только в том случае, если выход из цикла произошел без помощи break.

Для вставки кода на Python в комментарий заключайте его в теги

  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов

Источник

42. Циклы for/else и while/else в Python

В предыдущем уроке вы разобрались с операторами break и continue . Еще ранее ознакомились с циклами while и for. Настало время объединить знания и изучить конструкции for/else и while/else .

Вообще, это те же самые циклы for и while , в которые, опционально, добавлен блок else :

for i in range(5): 
print(i)
else:
print('Things are good')

Казалось бы, чем этот код по функционалу отличается от этого:

for i in range(5): 
print(i)
print('Things are good')

В данном случае – ничем. В прошлом уроке мы обогатили знания новым оператором break . Давайте применим его. Например, если переменная i равна трем, то мы прерываем цикл:

for i in range(5): 
print(i)
if i == 3:
break
else:
print('Things are good')

Теперь вы увидите разницу между предыдущим кодом и этим:

for i in range(5): 
print(i)
if i == 3:
break
print('Things are good')

То есть блок else в конструкции for/else будет выполнен, если цикл полностью завершил итерацию, но не будет выполнен, если цикл прерван оператором break . В определенных типах задач эта конструкция может пригодиться.

Конструкция while/else аналогична рассмотренной инструкции for/else .

В этом уроке еще раз рассмотрели инструкции while/else и for/else . Так же убедились, что в Python нет ненужных конструкций, просто некоторые подходят только для определенного класса задач.

Источник

for/else, while/else#

В циклах for и while опционально может использоваться блок else.

for/else#

  • блок else выполняется в том случае, если цикл завершил итерацию списка
  • но else не выполняется, если в цикле был выполнен break

Пример цикла for с else (блок else выполняется после завершения цикла for):

In [1]: for num in range(5): . : print(num) . : else: . : print("Числа закончились") . : 0 1 2 3 4 Числа закончились 

Пример цикла for с else и break в цикле (из-за break блок else не выполняется):

In [2]: for num in range(5): . : if num == 3: . : break . : else: . : print(num) . : else: . : print("Числа закончились") . : 0 1 2 

Пример цикла for с else и continue в цикле (continue не влияет на блок else):

In [3]: for num in range(5): . : if num == 3: . : continue . : else: . : print(num) . : else: . : print("Числа закончились") . : 0 1 2 4 Числа закончились 

while/else#

  • блок else выполняется в том случае, если условие в while ложно
  • else не выполняется, если в цикле был выполнен break

Пример цикла while с else (блок else выполняется после завершения цикла while):

In [4]: i = 0 In [5]: while i  5: . : print(i) . : i += 1 . : else: . : print("Конец") . : 0 1 2 3 4 Конец 

Пример цикла while с else и break в цикле (из-за break блок else не выполняется):

In [6]: i = 0 In [7]: while i  5: . : if i == 3: . : break . : else: . : print(i) . : i += 1 . : else: . : print("Конец") . : 0 1 2 

Источник

Читайте также:  Python self request send
Оцените статью