Сложные условия — elif, and, or, not

Урок 3. Когда решений становится больше

1. Что, если условий несколько?

Иногда двух вариантов мало. Например: если оценка 5 — отлично, 4 — хорошо, 3 — удовлетворительно, иначе — плохо. Для таких ситуаций есть конструкция elif (сокращение от "else if").

балл = int(input("Твой балл: "))

if балл >= 90:
    print("Отлично!")
elif балл >= 70:
    print("Хорошо")
elif балл >= 50:
    print("Удовлетворительно")
else:
    print("Плохо")
Программа проверяет условия сверху вниз. Как только одно из них срабатывает, остальные уже не проверяются.

2. Логические операторы — and, or, not

Иногда нужно объединить несколько условий. Для этого используются логические операторы:

ОператорЧто делаетПример
andИстина, если оба условия верныx > 0 and x < 10
orИстина, если хотя бы одно условие вернодень == "Сб" or день == "Вс"
notИнвертирует значение (True → False)not готов
возраст = 16
if возраст >= 13 and возраст <= 17:
    print("Ты подросток!")

3. Порядок проверки условий

При нескольких elif условия проверяются сверху вниз. Как только одно выполнилось — остальные пропускаются.

число = 5

if число > 0:
    print("Положительное")
elif число == 0:
    print("Ноль")
else:
    print("Отрицательное")

4. Частые ошибки

5. Примеры из жизни

день = input("Введите день недели: ")

if день == "Сб" or день == "Вс":
    print("Выходной! 😎")
else:
    print("Рабочий день")
онлайн = False

if not онлайн:
    print("Пользователь офлайн")
else:
    print("Пользователь в сети")

📝 Мини-тест

1. Что делает elif?

2. Что выведет программа?

x = 5
if x > 10:
    print("A")
elif x > 2:
    print("B")
else:
    print("C")

3. Что делает оператор and?

4. Что делает оператор or?

5. Что делает not?

🏠 Домашнее задание

  1. Попросите пользователя ввести балл (0–100). Используйте if / elif / else, чтобы вывести:
    • 90 и выше — «Отлично»
    • 70–89 — «Хорошо»
    • 50–69 — «Удовлетворительно»
    • Меньше 50 — «Неудовлетворительно»
  2. Спросите у пользователя день недели. Если это суббота или воскресенье — вывести «Выходной», иначе — «Рабочий день».
  3. Создайте переменную онлайн. Если not онлайн — вывести «Пользователь не в сети», иначе — «Онлайн».