Конструкция elif: множественные условия

Конструкция elif: множественные условия Условия и циклы

Привет! Мы уже знаем, как использовать if и else для ветвления на два направления. Но в реальной жизни вариантов часто больше: «если температура выше 30 — жарко, если выше 20 — тепло, если выше 10 — прохладно, иначе — холодно».

Для таких случаев в Python есть конструкция elif (сокращение от else-if).

В этой статье мы разберём:

  • Что такое elif
  • Синтаксис if-elif-else
  • Примеры с числами, строками, вводом
  • Когда использовать elif

Что нужно знать перед началом

Для этого урока тебе понадобится:

  • Установленный Python
  • Базовое понимание if и else

Совет: elif позволяет проверить несколько условий последовательно, без вложенных if.

Основная часть

Синтаксис if-elif-else

if условие1:
    # код, если условие1 истинно
elif условие2:
    # код, если условие1 ложно, а условие2 истинно
elif условие3:
    # код, если условие1 и условие2 ложны, а условие3 истинно
else:
    # код, если все условия ложны

Важно: elif проверяется только если предыдущие условия были ложны.

Простой пример с оценкой

score = 85

if score >= 90:
    print("Отлично")
elif score >= 75:
    print("Хорошо")
elif score >= 50:
    print("Удовлетворительно")
else:
    print("Неудовлетворительно")

Результат: "Хорошо"

Пример с температурой

temperature = 25

if temperature > 30:
    print("Жарко")
elif temperature > 20:
    print("Тепло")
elif temperature > 10:
    print("Прохладно")
else:
    print("Холодно")

Совет: Порядок условий важен. Python проверяет их сверху вниз и останавливается на первом истинном.

Пример с вводом пользователя

choice = input("Выберите действие (1, 2, 3): ")

if choice == "1":
    print("Вы выбрали действие 1")
elif choice == "2":
    print("Вы выбрали действие 2")
elif choice == "3":
    print("Вы выбрали действие 3")
else:
    print("Неверный выбор")

Пример с определением времени года

month = 7

if month in [12, 1, 2]:
    print("Зима")
elif month in [3, 4, 5]:
    print("Весна")
elif month in [6, 7, 8]:
    print("Лето")
elif month in [9, 10, 11]:
    print("Осень")
else:
    print("Неверный месяц")

elif vs вложенные if

Вложенные if (сложно читать):

score = 85

if score >= 90:
    print("Отлично")
else:
    if score >= 75:
        print("Хорошо")
    else:
        if score >= 50:
            print("Удовлетворительно")
        else:
            print("Неудовлетворительно")

С elif (чисто и читаемо):

score = 85

if score >= 90:
    print("Отлично")
elif score >= 75:
    print("Хорошо")
elif score >= 50:
    print("Удовлетворительно")
else:
    print("Неудовлетворительно")

Совет: Используй elif вместо вложенных if, когда проверяешь одно и то же значение с разными условиями.

Когда нельзя использовать elif

elif нельзя использовать без if.

# Ошибка!
elif x > 10:
    print("x > 10")

elif всегда идёт после if.

Задачи для закрепления

Задача 1. Запроси у пользователя оценку (0-100). Выведи:

  • «Отлично» — если >= 90
  • «Хорошо» — если >= 75
  • «Удовлетворительно» — если >= 50
  • «Неудовлетворительно» — если < 50

Задача 2. Запроси номер дня недели (1-7). Выведи название дня.

Задача 3. Запроси возраст. Выведи:

  • «Ребёнок» — 0-12
  • «Подросток» — 13-17
  • «Взрослый» — 18-64
  • «Пенсионер» — 65+

Задача 4. Запроси два числа и оператор (+, -, *, /). Выведи результат операции.

Задача 5. Что выведет код? 

x = 5; if x > 10: print(">10"); elif x > 5: print(">5"); elif x > 0: print(">0"); else: print("<=0")

Ответы:

Задача 1.

score = int(input("Введите оценку: "))
if score >= 90:
    print("Отлично")
elif score >= 75:
    print("Хорошо")
elif score >= 50:
    print("Удовлетворительно")
else:
    print("Неудовлетворительно")

Задача 2.

day = int(input("Введите номер дня недели (1-7): "))
if day == 1:
    print("Понедельник")
elif day == 2:
    print("Вторник")
elif day == 3:
    print("Среда")
elif day == 4:
    print("Четверг")
elif day == 5:
    print("Пятница")
elif day == 6:
    print("Суббота")
elif day == 7:
    print("Воскресенье")
else:
    print("Неверный день")

Задача 3.

age = int(input("Введите возраст: "))
if age <= 12:
    print("Ребёнок")
elif age <= 17:
    print("Подросток")
elif age <= 64:
    print("Взрослый")
else:
    print("Пенсионер")

Задача 4.

a = float(input("Первое число: "))
b = float(input("Второе число: "))
op = input("Оператор (+, -, *, /): ")

if op == "+":
    print(a + b)
elif op == "-":
    print(a - b)
elif op == "*":
    print(a * b)
elif op == "/":
    if b != 0:
        print(a / b)
    else:
        print("Деление на ноль!")
else:
    print("Неверный оператор")

Задача 5.

# >0

Нюансы и подводные камни

Порядок условий

score = 95
if score >= 75:
    print("Хорошо")   # Выполнится
elif score >= 90:
    print("Отлично")  # Никогда не выполнится

Проверяй условия от более строгих к менее строгим.

elif с else

else не обязателен. Если все условия ложны, код просто пропускается.

if x > 10:
    print(">10")
elif x > 5:
    print(">5")
# Если x <= 5, ничего не выведется

Множественные elif

Количество elif не ограничено. Чем больше условий, тем сложнее код. Старайся не превышать 4-5 elif.

Частые ошибки и как их избежать

Ошибка 1: Забыл двоеточие

❌ if x > 5 print(">5") — ошибка!

✅ if x > 5: print(">5")

Ошибка 2: elif без if

❌ elif x > 10: ... — ошибка!

✅ if x > 10: ... elif x > 5: ...

Ошибка 3: Неправильный порядок условий

❌ if x > 5: ... elif x > 10: ... — второе условие никогда не выполнится

✅ if x > 10: ... elif x > 5: ...

Шпаргалка

Что нужноКак пишется
Первое условиеif условие1:
Дополнительное условиеelif условие2:
Блок по умолчаниюelse:
Проверка одного значенияif x == 1: elif x == 2:

Заключение

Сегодня мы узнали:

  • Конструкция elif для множественных условий
  • Синтаксис if-elif-else
  • Примеры с числами, строками, вводом
  • Порядок условий и частые ошибки

КВИЗ

Что дальше?

Оцените статью
IMI-DS - PYTHON LERNEN
Содержание
Оглавление ×