Глава 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 проверяет условия по очереди; условия можно вкладывать друг в друга.