1
resposta

[Projeto] Minha resposta à essa questão:

def long_words(text):
    words = text.split()
    return [w for w in words if len(w) > 10]

def long_words_check():
    result = long_words(text)
    if result:
        return f"Long words found: {result}"
    else:
        return "No long words were found."


text = input("Enter a text: ")
print(long_words_check())
1 resposta

Olá, Raul! Como vai?

Você organizou bem a solução ao separar a lógica em funções: long_words() faz a filtragem das palavras e long_words_check() cuida da mensagem final. Um ponto interessante é que a função long_words_check() usa a variável text de fora dela, então, para deixar o código mais reutilizável, vale passar esse texto como parâmetro.

Uma dica interessante para o futuro é usar parâmetros nas funções para evitar depender de variáveis globais.

def long_words(text):
    words = text.split()
    return [word for word in words if len(word) > 10]

def long_words_check(text):
    result = long_words(text)

    if result:
        return f"Long words found: {result}"
    return "No long words were found."

text = input("Enter a text: ")
print(long_words_check(text))

Esse ajuste faz com que long_words_check(text) receba o texto diretamente, deixando o código mais claro e fácil de reaproveitar em outros testes. Continue praticando, sua construção ficou bem encaminhada.

Na sua visão, isolar a regra de filtragem de caracteres em uma etapa prévia de limpeza ajuda a manter as funções do seu projeto focadas em uma única responsabilidade de forma mais organizada?

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