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

Compartilhando a solução que encontrei para o exercício

Lucas está desenvolvendo um sistema para gerar relatórios financeiros e precisa filtrar apenas os valores pares de uma lista de números informada pelo usuário.

Crie um programa que receba uma lista de números e exiba apenas os pares usando a função filter().
'''

Minha solução:

def meu_filtro(n):
    return n % 2 == 0

numeros = list(map(int, input('Digite os números separados por espaço: ').split()))
numeros_pares = filter(meu_filtro, numeros)
print(list(numeros_pares))
1 resposta

Oi, André! Tudo bem?

A sua atividade compartilhando a solução que encontrei para o exercício ficou bem objetiva e mostra corretamente o uso da função filter() para selecionar apenas os números pares em uma lista informada pela pessoa usuária.

A lógica está correta: a função meu_filtro(n) retorna True quando o número é divisível por 2, e o filter() usa esse retorno para manter somente os valores pares.

Uma dica é lembrar que filter() devolve um objeto iterável, por isso você usou bem o list(numeros_pares) no print() para visualizar o resultado final. Em uma próxima versão, você também pode testar entradas com números negativos e zero, já que eles também seguem a regra de paridade em Python.

Você chegou a comparar essa solução com uma versão usando list comprehension, como [n for n in numeros if n % 2 == 0]?

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