Ввести с клавиатуры множество последователн. симв. из диапазона от А до Я. Определ. число различных (без повтор.)букв, входящих в последовательность

word = input('Введите последовательность:')
count = 0
alphabet = set("АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя")
for letter in word:
    if letter in alphabet:
        count += 1
print('Количество букв равно:')
print(count)

Получилось так, что он считает количество всех букв в последовательности, в том числе и с повторениями. Как сделать так, чтобы код выводил сами буквы и их количество?


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

Автор решения: Алексей Р
word = input('Введите последовательность:')
alphabet = set("АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя")
out = alphabet.intersection(word)

print(f'Количество букв равно: {len(out)}')
print(out)
Введите последовательность:мама мыла Раму 10 раз
Количество букв равно: 8
{'л', 'а', 'з', 'ы', 'у', 'Р', 'р', 'м'}

Выше строчные и прописные (заглавные) буквы считаются разными. Если нужно считать строчные и прописные одинаковыми, то можно так:

word = input('Введите последовательность:').lower()
alphabet = set("АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя".lower())
out = alphabet.intersection(word)

print(f'Количество букв равно: {len(out)}')
print(out)
Введите последовательность:мама мыла Раму 10 раз
Количество букв равно: 7
{'з', 'л', 'у', 'ы', 'а', 'м', 'р'}
→ Ссылка