[Python] Frequência média utilizando dicionário

Discussão em 'Python' iniciado por Stack, Dezembro 26, 2024.

  1. Stack

    Stack Membro Participativo

    Quero consultar a frequência de palavras retornadas em um livro (formato .txt) e dividir esta frequência pela quantidade de capítulos encontrados, obtendo assim a média da aparição de palavra por capítulo.

    O ponto é que quero retornar esse resultado dentro de um dicionário. Exemplo de retorno esperado:

    {'casa': 4.9000090}
    {'homem': 2.256535434}


    Já consegui obter o resultado esperado sem utilizar o dicionário como retorno, mas gostaria de concatenar as informações pra ficar da forma acima.

    Alguém para indicar qual o melhor caminho?

    Meu código está assim:

    #Código do meu arquivo auxiliar.py que contém as funções de leitura de texto
    def abre_texto():
    return open('livroExemplo.txt', 'r')

    def consulta_novo_capitulo(line)
    return bool(re.search(r'^Capítulo\s\d\d', line))



    #Função principal
    import auxiliares as aux

    def media_palavras(palavra):
    thisdict = {}
    newChapter = 0
    for line in aux.abre_texto():
    if aux.consulta_capitulo(line) == True:
    newChapter += 1
    for word in line.split():
    if word not in thisdict:
    thisdict[word] = 1
    else:
    thisdict[word] += 1
    print("Existem",newChapter,"capítulos.")
    print("A palavra consultada {",palavra,"} apareceu",thisdict[palavra],"vezes no livro.")
    print("Média de aparição da palavra consultada:",(thisdict[palavra])/newChapter)

    media_palavras('casa')

    Continue reading...

Compartilhe esta Página