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

Faça como eu fiz: filtrando números pares | Praticando Python: funções

# Recebe os números digitados pelo usuário
numeros = list(map(int, input("Digite os números separados por espaço: ").split()))

# Filtra apenas os números pares
pares = list(filter(lambda x: x % 2 == 0, numeros))

# Exibe o resultado
print("Números pares:", " ".join(map(str, pares)))

Exemplo de entrada

Digite os números separados por espaço: 1 2 3 4 5 6

Saída esperada

Números pares: 2 4 6
1 resposta

Oi, estudante. Tudo bem com você?

A captura de dados com o tratamento usando os métodos split e map para carregar a lista de inteiros foi executada de maneira muito correta. O uso da função funcional filter combinada com a expressão lambda isolou os valores pares de forma elegante, respeitando a proposta do exercício. Além disso, a formatação de saída para converter os números de volta em string e unificá-los com espaços deixou a exibição limpa.

Uma dica legal para expandir o conhecimento sobre funções de alta ordem em Python envolve o uso de funções nomeadas tradicionais no lugar de expressões lambda anônimas quando a lógica de filtragem se torna mais complexa. Como exemplo prático de legibilidade, você pode criar uma função separada com a sintaxe def eh_par(n): return n % 2 == 0 e depois passá-la como argumento para o filtro escrevendo apenas o comando pares = list(filter(eh_par, numeros)), tornando o fluxo muito mais limpo para leitura.

Como você avalia a diferença na manutenção do código ao optar por funções nomeadas tradicionais em vez de lambdas em filtros maiores?

Parabéns pelo excelente desempenho na atividade, saiba que o fórum continua totalmente à disposição para suas futuras interações.

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