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)}')
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!
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)}')
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.