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

Слайд 2

🧩 Решение задач

Задача 1

Даны три целых числа. Определите, сколько среди них совпадающих. Программа должна вывести одно из чисел:

  • 3 — если все совпадают;
  • 2 — если два совпадают;
  • 0 — если все различны.

🧠 Решение 1. Использование вложенного условного оператора

a, b, c = int(input()), int(input()), int(input())

if a == b:
    if b == c:
        print(3)
    else:
        print(2)
else:
    if a == c:
        print(2)
    else:
        if b == c:
            print(2)
        else:
            print(0)
💡 Программа поэтапно проверяет равенство каждой пары чисел. Глубокая вложенность делает код менее читаемым, но логика проста и последовательна.

🧠 Решение 2. Использование каскадного условного оператора

a, b, c = int(input()), int(input()), int(input())

if a == b == c:
    print(3)
elif a == b:
    print(2)
elif b == c:
    print(2)
elif a == c:
    print(2)
else:
    print(0)
💡 Каскадная конструкция if-elif-else делает код компактнее и нагляднее, без избыточных вложений.

🧠 Решение 3. Использование каскадного условного оператора и логического оператора or

a, b, c = int(input()), int(input()), int(input())

if a == b == c:
    print(3)
elif a == b or b == c or a == c:
    print(2)
else:
    print(0)
✅ Самый элегантный вариант. Использует короткое условие с оператором or, что делает код простым и читаемым.