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

[Projeto] Faça como eu fiz: filtrando números pares

numeros = input('Digite os números separados por espaço: ').split()
numInt = map(int,numeros)

def numPares (numero):
    return numero % 2 == 0

pares = filter(numPares,numInt)

print(f'Números pares: {list(pares)}')
1 resposta

Olá, Evandro. Tudo certo?

Seu código está correto e atende bem ao objetivo da atividade. A utilização da função map para converter a entrada em inteiros, seguida da função filter com uma função que verifica se o número é par, é uma prática eficiente e clara.

Uma dica para ampliar o uso desse código seria explorar o conceito de funções lambda, que permitem criar funções anônimas de forma compacta. Por exemplo, você poderia reescrever seu filtro assim: pares = filter(lambda x: x % 2 == 0, numInt). Isso pode facilitar a legibilidade e a manutenção do código em situações em que a função é simples e usada uma única vez.

Além disso, pensando em exercícios práticos, você poderia adaptar o programa para filtrar números múltiplos de outros valores, como 3 ou 5, ou até mesmo criar funções que combinam múltiplos filtros. Essa flexibilidade é bastante comum em projetos que envolvem manipulação de listas.

Você já pensou em como implementar essa lógica utilizando outras estruturas de dados, como listas por compreensão, e qual seria a vantagem de uma abordagem em relação à outra em termos de desempenho ou legibilidade?

Parabéns pelo seu código, Evandro. O fórum está à disposição para continuar ajudando no seu aprendizado.

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