Boa noite Felipe,
Analisando seu código creio ter identificado o problema. O mesmo está sendo executado sem a chamada da função definida analisa_frequencia_de_letras. Para gerar uma saída, o mesmo deveria estar escrito da seguinte forma:
from collections import Counter
texto1 = "Amanhã é dia 16 de Maio"
texto2 = "Meu nome é Felipe Pascucci"
def analisa_frequencia_de_letras(texto):
aparicoes = Counter(texto.lower())
total_aparicoes = sum(aparicoes.values())
proporcoes = [(letra, frequencia / total_aparicoes) for letra, frequencia in aparicoes.items()]
proporcoes = Counter(dict(proporcoes))
mais_comuns = proporcoes.most_common(5)
for caractere, proporcao in mais_comuns:
print("{} ====> {:.2f}%" .format(caractere, proporcao * 100))
print(aparicoes)
print(total_aparicoes)
analisa_frequencia_de_letras(texto1)
analisa_frequencia_de_letras(texto2)
Resultado:
====> 21.74%
a ====> 17.39%
m ====> 8.70%
d ====> 8.70%
i ====> 8.70%
Counter({' ': 5, 'a': 4, 'm': 2, 'd': 2, 'i': 2, 'n': 1, 'h': 1, 'ã': 1, 'é': 1, '1': 1, '6': 1, 'e': 1, 'o': 1})
23
e ====> 15.38%
====> 15.38%
c ====> 11.54%
m ====> 7.69%
u ====> 7.69%
Counter({'e': 4, ' ': 4, 'c': 3, 'm': 2, 'u': 2, 'i': 2, 'p': 2, 'n': 1, 'o': 1, 'é': 1, 'f': 1, 'l': 1, 'a': 1, 's': 1})
26
Espero ter ajudado em sua dúvida.