Вложенные и каскадные условия

Слайд 1

📘 Тема урока: Условный оператор

Подтемы: Вложенные условия, Каскадные условия

Аннотация

Изучим вложенный и каскадный условный оператор, разберём их различия и посмотрим, как можно сделать код более читаемым.


🔹 Вложенный оператор

Внутри условного оператора if можно использовать другие условные операторы. Такое построение называется вложенным ветвлением.

if условие1:
    блок кода
else:
    if условие2:
        блок кода
    else:
        if условие3:
            блок кода
        ...

Каждый уровень вложенности требует дополнительного отступа в 4 пробела.

📍 Пример 1. Определение координатной четверти

x = int(input())
y = int(input())

if x > 0:
    if y > 0:
        print('Первая четверть')
    else:
        print('Четвертая четверть')
else:
    if y > 0:
        print('Вторая четверть')
    else:
        print('Третья четверть')

Этот код эквивалентен решению с использованием логических операторов and, но использует структуру вложенных if.

📍 Пример 2. Перевод оценки из 100-балльной в 5-балльную систему

grade = int(input('Введите вашу отметку по 100-балльной системе: '))

if grade >= 90:
    print(5)
else:
    if grade >= 80:
        print(4)
    else:
        if grade >= 70: 
            print(3)
        else:
            if grade >= 60:
                print(2)
            else:
                print(1)
💡 Глубокое вложение делает код трудным для восприятия. Лучше использовать if-elif-else — каскадную структуру.

🔹 Каскадный условный оператор

Когда необходимо проверить несколько условий подряд, удобнее использовать каскадную конструкцию if-elif-else.

if условие1:
    блок кода
elif условие2:
    блок кода
...
else:
    блок кода

📍 Пример. Перевод оценки с помощью каскадного оператора

grade = int(input('Введите вашу отметку: '))

if grade >= 90:
    print(5)
elif grade >= 80:
    print(4)
elif grade >= 70:
    print(3)
elif grade >= 60:
    print(2)
else:
    print(1)
💡 if, elif и else находятся на одном уровне выравнивания. Это делает код короче, чище и понятнее, чем при вложенных if.

📍 Пример без блока else

Заключительный блок else не является обязательным:

traffic_light_signal = input('Введите сигнал светофора: ')

if traffic_light_signal == 'красный':
    print('Стой!')
elif traffic_light_signal == 'желтый':
    print('Приготовься...')
elif traffic_light_signal == 'зеленый':
    print('Иди!')
💡 Если введён некорректный сигнал, программа ничего не выведет — просто завершится без ошибок.