1
resposta

[Projeto] Identificando palavras mais longas em um texto

import re

def encontrar_palavras_longas(texto: str, limite: int = 10) -> list[str]:
palavras_limpas = re.findall(r'[a-zA-ZáàâãéèêíóôõúüçÁÀÂÃÉÈÊÍÓÔÕÚÜÇ]+', texto.lower())

palavras_longas = [palavra for palavra in palavras_limpas if len(palavra) > limite]

palavras_unicas_longas = sorted(list(set(palavras_longas)))

return palavras_unicas_longas

def exibir_resultado(texto_original: str, limite: int = 10):
palavras_encontradas = encontrar_palavras_longas(texto_original, limite)

print(f'\nAnálise de Palavras Longas (Mais de {limite} letras):')
print('-' * 50)

if palavras_encontradas:
    resultado_formatado = ', '.join(palavras_encontradas)
    print(f'Palavras longas encontradas: **{resultado_formatado}**')
else:
    print('Nenhuma palavra longa foi encontrada no texto.')

if name == 'main':
entrada_usuario = input('Digite um texto para revisão: ')
exibir_resultado(entrada_usuario)

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, EDUARDO! Tudo bem?

Parabéns por mais este projeto! Seu código ficou excelente, muito limpo e eficiente.

Achei fantástica a forma como você separou a lógica em duas funções: uma para encontrar as palavras (encontrar_palavras_longas) e outra para exibir o resultado (exibir_resultado). Isso é uma ótima prática de organização de código!

O uso de re.findall com a expressão regular que inclui caracteres acentuados é a solução perfeita para textos em português. Além disso, a maneira como você processou a lista final para obter apenas palavras únicas e ordenadas com set e sorted deixou o resultado muito mais profissional.

Bons estudos!

Sucesso

Imagem da comunidade