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)))
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!
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)))
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 ✨