Мини-урок · перед практикой

Сколько совпадает чисел

Отдельно различаем три совпадения и ровно два.

Как к ней подойти

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

Коротко о теме

Ветвление выбирает один из нескольких вариантов. Запишите каждый случай словами, затем переведите их в if, elif и else. Отдельно проверьте границы: равенство часто меняет ответ.

Ключевая идея · Условия

Проверку трёх равных выполняем раньше проверки пары.

Проверьте перед запуском

  • Если все значения разные, ответ 0, а не 1.

Сравните свой подход

Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.

Ваше принятое решение

Рекомендуемое решение: Условия

Проверку трёх равных выполняем раньше проверки пары.

a = int(input())
b = int(input())
c = int(input())
if a == b == c:
    print(3)
elif a == b or a == c or b == c:
    print(2)
else:
    print(0)

Время: O(1). Память: O(1).

Другой способ: Число разных значений

Размер множества 1, 2 или 3 однозначно определяет ответ.

values = {int(input()), int(input()), int(input())}
print({1: 3, 2: 2, 3: 0}[len(values)])

Время: O(1). Память: O(1).