Глава 9 · Выполняй мою команду!
Условия продолжают накапливаться!
elif и вложенные условия — когда одного if/else уже недостаточно.
Условий может быть сколько угодно — elif позволяет
проверить их по очереди, одно за другим, пока одно из них не окажется истинным:
elif_cepochka.py
ocenka = 87
if ocenka >= 90:
bukva = "A"
elif ocenka >= 80:
bukva = "B"
elif ocenka >= 70:
bukva = "C"
else:
bukva = "D"
print(f"Оценка: {bukva}")
Порядок условий имеет значение
Python проверяет условия по порядку и останавливается на первом истинном — даже если следующие условия тоже подошли бы. Поэтому в примере выше условия идут от большего к меньшему: если бы
ocenka >= 70 стояло первым, оценка 87 неверно попала бы в категорию «C».Вложенные условия
Внутри блока if может быть ещё один
if — это называется вложенным условием:
vlozhennye_usloviya.py
age = 25
has_license = True
if age >= 18:
if has_license:
print("Можно водить машину.")
else:
print("Сначала получите права.")
else:
print("Ещё рано водить машину.")
★★★ Задача повышенной сложности
Три вложенных уровня
Добавьте третий уровень: внутри «можно водить машину» проверьте ещё и наличие топлива в баке (третья переменная has_fuel).
Итоги
Что мы узнали в этой главе
- Тип
boolхранитTrueилиFalse; ноль и пустые значения — «ложь», всё остальное — «истина». - Шесть операторов сравнения (
== != < > <= >=) превращают значения в bool. ifвыполняет блок кода при истинном условии;else— альтернативу, если условие ложно.and,or,notкомбинируют несколько условий в одно.elifпроверяет условия по очереди; условия можно вкладывать друг в друга.