В Python блок else
может располагаться не только после if
, но и после for
и while
. Код внутри else
выполняется, если цикл не был прерван оператором break
.
Обычный способ использования этого — найти что-то в цикле и выйти из него через break
, когда нужный элемент найден:
>>> first_odd = None
>>> for x in [2, 3, 4, 5]:
... if x % 2 == 1:
... first_odd = x
... break
... else:
... raise ValueError('В списке нет нечетных элементов')
...
>>> first_odd
3
>>> for x in [2, 4, 6]:
... if x % 2 == 1:
... first_odd = x
... break
... else:
... raise ValueError('В списке нет нечетных элементов')
...
...
ValueError: В списке нет нечетных элементов
👉@BookPython
>>Click here to continue<<