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

Faça como eu fiz: filtrando números pares - Solução

# Filtrando números pares

numeros = input("Digite os números separados por espaços:").split()
pares = filter(lambda x: int(x) % 2 == 0, numeros)
print("Números pares: ".join(pares))

Output:
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, estudante. Tudo bem?

Você construiu uma solução interessante utilizando filter com uma função lambda, o que mostra uma boa compreensão de funções de ordem superior em Python. O ponto que precisa de ajuste está na etapa final de exibição dos resultados.

O método join pertence às strings e deve ser usado para unir elementos de uma sequência de strings. No seu caso, o filter retorna um iterador com os valores ainda em formato de string, mas a forma como a mensagem foi combinada no print acaba gerando uma construção incorreta. O ideal é separar a mensagem do resultado e garantir que os dados estejam corretamente preparados para a junção. Por exemplo:

numeros = input("Digite os números separados por espaços: ").split()

pares = filter(lambda x: int(x) % 2 == 0, numeros)

print("Números pares:", " ".join(pares))

Aqui, a mensagem é exibida separadamente e o join atua apenas sobre os elementos filtrados.

Uma forma mais idiomática em Python é utilizar list comprehension, que deixa o código mais direto:

numeros = input("Digite os números separados por espaços: ").split()

pares = [x for x in numeros if int(x) % 2 == 0]

print("Números pares:", " ".join(pares))

Essa abordagem evita a necessidade de filter e melhora a legibilidade, mantendo o mesmo resultado.

Pensando na diferença entre essas duas abordagens, em quais situações você acha que o uso de filter pode ser mais vantajoso do que uma list comprehension, considerando legibilidade e estilo de código?

Vou deixar abaixo um artigo sobre list comprehension, caso ainda não conheça.

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