Ваш код использует `Counter` на каждом символе строки вместо использования `Counter` на всей строке. Модифицируем ваш код, чтобы исправить эту проблему: import zipfile
from collections import Counter
def process_text(tet):
counter = Counter()
for char in tet:
if char.isalpha():
counter[char] += 1
return counter
for letter, count in sorted_letters:
print(f"буква: {letter} | частота: {count}") Этот код перебирает каждый символ в тексте, и если он является буквой (`isalpha()` возвращает `True`), то он увеличивает счетчик для этого символа на единицу. Результатом функции `process_text` является объект `Counter`, который содержит количество каждой буквы в тексте. Затем мы сортируем эти буквы в порядке убывания их частоты и выводим результат.
Проблема с вашим кодом заключается в том, что вы передаете один символ в функцию Counter, а не весь текст. Вы можете исправить это, изменив строку counter = Counter(i) на counter = Counter(tet). Также вы должны переместить строку _dict.update(counter) за пределы цикла for. Вот исправленная версия вашей функции process_text: def process_text(tet):
chek = tet.isalpha()
if chek:
counter = Counter(tet)
_dict.update(counter)
return _dict