1
resposta

[Projeto] Minha resposta

def analisar_frase(texto):
    quantidade_maior_que_dez = 0
    palavras_maiores_que_dez = []
    for palavra in texto:
        if len(palavra) > 10:
            quantidade_maior_que_dez += 1
            palavras_maiores_que_dez.append(palavra)
    if quantidade_maior_que_dez == 0:
        print('Nenhuma palavra longa foi encontrada no texto.')
    else:
        print('Palavras longas encontradas: ', end='')
        print(', '.join(palavras_maiores_que_dez))


texto = input('Digite um texto: ').strip().split()
analisar_frase(texto)

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Elton! Como vai?

Você fez um bom uso de strip().split() e do for para percorrer as palavras. Sua ideia faz sentido, veja como ajustar para deixar mais direto e reutilizável.

Uma dica interessante para o futuro é filtrar e contar com list comprehension e retornar o texto pronto em vez de imprimir dentro da função. Veja este exemplo:


def analisar_frase(texto):
    palavras = [p for p in texto.split() if len(p) > 10]
    qtd = len(palavras)
    if qtd == 0:
        return "Nenhuma palavra longa foi encontrada no texto."
    return "Palavras longas encontradas: " + ", ".join(palavras)

frase = input("Digite um texto: ")
print(analisar_frase(frase))

O que faz: filtra com len(p) > 10, conta com len(palavras) e monta a resposta com ", ".join(...). Codigo sem acentuacao para facilitar copia.

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