Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Desafio na pratica

  1. Você iniciou um estágio em uma empresa que trabalha com processamento de linguagem natural (NLP). Sua líder requisitou que você criasse um trecho de código que recebe uma frase digitada pela pessoa usuária e filtre apenas as palavras com tamanho maior ou igual a 5, exibindo-as em uma lista. Essa demanda é voltada para a análise do padrão de comportamento de pessoas na escrita de palavras acima dessa quantidade de caracteres.

Dica: utilize as funções lambda e filter() para filtrar essas palavras. Lembrando que a função embutida filter() recebe uma função (no nosso exemplo uma função lambda) e filtra um iterável de acordo com a função. Para tratar a frase use replace() para trocar a ',' '.', '!' e '?' por espaço.

Use a frase "Aprender Python aqui na Alura é muito bom" para testar o código.

frase = input("Digite uma frase: ")
frase_limpa = frase.replace(",", " ").replace(".", " ").replace("!", " ").replace("?", " ")
palavras = frase_limpa.split()
palavras_filtradas = list(filter(lambda word: len(word) >= 5, palavras))
print(palavras_filtradas)
1 resposta

Oi, Luckas! Como vai?

Que ótimo ver você praticando o desafio com processamento de linguagem natural! Você resolveu muito bem a proposta, utilizando a função replace() para limpar a frase recebida, o split() para separar as palavras e a combinação poderosa entre a função lambda e o filter() para filtrar apenas as palavras com cinco ou mais caracteres. Essa abordagem é exatamente o que se espera de quem iniciou um estágio em uma empresa que trabalha com análise de padrões de escrita.

Seu código ficou organizado e fácil de ler. A variável frase_limpa armazena a frase após o tratamento com replace(), e palavras_filtradas guarda o resultado final da filtragem, o que torna o fluxo bem didático para quem está aprendendo.

Uma dica complementar para aprimorar ainda mais o código é utilizar o método strip(), que remove espaços extras no início e no fim da frase digitada pela pessoa usuária. Isso ajuda a evitar erros sutis no processamento do texto. Veja como aplicá-lo:


frase = input("Digite uma frase: ")
frase = frase.strip()
frase_limpa = frase.replace(",", " ").replace(".", " ").replace("!", " ").replace("?", " ")
palavras = frase_limpa.split()
palavras_filtradas = list(filter(lambda word: len(word) >= 5, palavras))
print(palavras_filtradas)

Ao usar a frase "Aprender Python aqui na Alura é muito bom" para testar o código, o resultado retorna as palavras com tamanho maior ou igual a 5, como "Aprender", "Python", "aqui" e "Alura", confirmando que a lógica está funcionando corretamente.

Continue praticando e explorando os recursos que Python oferece para manipulação de texto. Você está no caminho certo!

Agora uma pergunta para refletirmos juntos: você já pensou em como o código se comportaria se a pessoa usuária digitasse palavras em maiúsculas ou com acentuação variada, e o que seria necessário ajustar para lidar com esses casos?

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