1
resposta

[Projeto] indentificador de palavras grandes - Resolução em função

texto = input("Digite um texto: ")

def palavras_longas(texto):
    palavras = texto.split()
    palavras_longas= {}

    for palavra in palavras:
        if len(palavra) > 10:
            palavras_longas[palavra] = palavras_longas.get(palavra, 0) + 1
    else:
        print("Nenhuma palavra longa foi encontrada no texto.")
    
    return palavras_longas
palavras = list(palavras_longas(texto).keys())
print(f"Palavras longas encontradas: {', '.join(palavras)}")

Tem sido muito engrandecedor fazer essas funções sozinho, forçando-me a não usar o GPT. Sei que são coisas muito basicas, mas já me deixa ansioso para algo de proporções maiores :D

1 resposta

Olá, Igor, como vai?

Seu exercício demonstra uma boa aplicação de funções e manipulação de dicionários para resolver o problema proposto. O uso do método split para separar o texto e a lógica de filtragem por comprimento de caracteres atendem ao que foi solicitado. O código está funcional e é interessante observar como você utilizou um dicionário para gerenciar as ocorrências das palavras, o que abre margem para expansões futuras no código, como a contagem de frequência de cada termo.

Apenas como um ponto de melhoria, note que a mensagem de que nenhuma palavra foi encontrada está dentro de um bloco else vinculado ao laço for. Em Python, o else do for é executado sempre que o laço termina naturalmente, o que fará com que a mensagem apareça mesmo se palavras longas forem encontradas. Uma forma de ajustar isso é verificar se o dicionário ou lista resultante está vazio antes de exibir o resultado final. Por exemplo, você pode utilizar uma estrutura condicional após a chamada da função para decidir se imprime a lista de palavras ou o aviso de que nada foi localizado.

Parabéns pelo empenho em desenvolver a lógica de forma independente e por compartilhar sua evolução com a comunidade.

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