Проблема с проверкой на три одинаковые переменных

Хочу написать проверку на три одинаковых переменных. При этом если встречается две одинаковые переменные все равно выдает истину. Написал для примера только для одной переменной.

a = 3
b = 2
c = 4
d = 1
e = 3
if (a == (b and c) or (c and d) or (d and e) or (b and d) or (b and e) or (c and e)):
    print ('Good!')
else:
    print ('Bad!')

Ответы (1 шт):

Автор решения: gil9red

Можно собрать эти переменные в список и подсчитать сколько раз встречаются элементы, после проверить что хотя бы один из элементов встретился 3 раза.

Counter подсчитает сколько раз встречаются элементы, получится словарь, где ключом будет элемент, а значением количество раз.

Пример:

from collections import Counter

a = 3
b = 2
c = 3
d = 1
e = 3
items = [a, b, c, d, e]

d = Counter(items)
print(d)
# Counter({3: 3, 2: 1, 1: 1})

if 3 in d.values():
    print('Good!')
else:
    print('Bad!')
→ Ссылка