Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Usando o PyCharm, após rodar o código nao aparece nada

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)
2 respostas
solução!

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.

Obrigado pela ajuda!