Solucionado (ver solução)

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!

Solucionado
(ver solução)
1
resposta

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

def is_even(num):
    return num % 2 == 0

numbers = input("Digite os números separados por espaço: ").split()
numbers = [int(num) for num in numbers if num.isdigit() and is_even(int(num))]
print("Números pares:", ' '.join(map(str, numbers)))
1 resposta
solução!

Oii Julia, tudo bem?

Obrigada por compartilhar sua solução aqui no fórum! Você já foi além do básico ao combinar a filtragem e a conversão em uma única list comprehension, o que deixa o código bem conciso.

Uma observação vale mencionar: o num.isdigit() vai ignorar números negativos, já que o hífen (-) não passa por essa verificação. Se o exercício contemplar apenas positivos, tudo certo. Mas caso precise aceitar negativos também, uma alternativa é envolver a conversão em um try/except:

numbers = []
for num in input("Digite os números separados por espaço: ").split():
    try:
        n = int(num)
        if is_even(n):
            numbers.append(n)
    except ValueError:
        pass

Fica a dica para um próximo passo!

Conte com a Alura para evoluir seus estudos. Em caso de dúvidas, fico à disposição.

Bons estudos!

Sucesso

Imagem da comunidade