Ввести с клавиатуры множество последователн. симв. из диапазона от А до Я. Определ. число различных (без повтор.)букв, входящих в последовательность
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
{'з', 'л', 'у', 'ы', 'а', 'м', 'р'}