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


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

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

>>>
>>> i = 5
>>> while i < 15:
... print(i)
... i = i + 2
...

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

>>>
>>> for i in 'hello world':
... print(i * 2, end='')
...
hheelllloo wwoorrlldd
Оператор continue
Оператор continue начинает следующий проход цикла, минуя оставшееся тело цикла (for или while)

>>>
>>> for i in 'hello world':
... if i == 'o':
... continue
... print(i * 2, end='')
...
hheellll wwrrlldd
Оператор break
Оператор break досрочно прерывает цикл.

>>>
>>> for i in 'hello world':
... if i == 'o':
... break
... print(i * 2, end='')
...
hheellll
Волшебное слово else
Слово else, примененное в цикле for или while, проверяет, был ли произведен выход из цикла инструкцией break, или же "естественным" образом. Блок инструкций внутри else выполнится только в том случае, если выход из цикла произошел без помощи break.

>>>
>>> for i in 'hello world':
... if i == 'a':
... break
... else:
... print('Буквы a в строке нет')
...
Буквы a в строке нет