2
respostas

[Projeto] resolução do ex. contador de palavras

contador.py
def limpar_texto(texto):
    texto = texto.lower()
    caracteres = ",.!?;:\"'(){}[]"
    for char in caracteres:
        texto = texto.replace(char,"")
    return texto.strip()

def contar_palavras(frase):
    frase = limpar_texto(frase)
    if not frase.strip():
        return {}
    palavras = frase.split()
    contagem = {}
    for palavra in palavras:
        contagem[palavra] = contagem.get(palavra, 0) + 1
    return contagem
main.py
from contador import contar_palavras

frase = input('Digite uma frase: ').strip()
if not frase:
    print:('Erro: Nenhuma frase foi digitada.')
else:
    resultado = contar_palavras(frase)
    if resultado:
        print('Contagem de Palavras: ')
        for palavra, quantidade in resultado.items():
            print(f'{palavra} : {quantidade}')
    else:
        print(f'Nenhuma palavra válida foi encontrada')
2 respostas

Olá, Franco, como vai?

Seu código está bem organizado e a separação das responsabilidades entre os arquivos ficou clara, o que é um ponto positivo. A função de limpeza de texto cumpre bem o papel de normalizar a entrada e a contagem de palavras está coerente com a proposta do exercício.

Existe apenas um detalhe que merece correção no main.py. Na linha onde você tenta exibir a mensagem de erro para entrada vazia, foi utilizado print:('Erro: Nenhuma frase foi digitada.'). Em Python, isso gera um erro de sintaxe. O correto é utilizar print('Erro: Nenhuma frase foi digitada.'). Fora isso, o fluxo do programa está consistente e funciona conforme o esperado.

Obrigado por compartilhar sua solução e fique à vontade para continuar trazendo seus projetos e dúvidas aqui no fórum, que está à disposição para trocar ideias e evoluir junto.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Não tinha percebido esse pequeno erro no 'print'. Desde já agradeço a observação!