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

[Projeto] Filtrando números pares

Esse desafio foi de longe o mais complicado até agora. Estava quase desistindo e pedindo ajuda pro claude.
E aí depois que resolvi fui ver a solução do instrutor e fiquei até com vergonha pq a solução dele tem 3 linhas e a minha tem 1 milhão mesmo depois de tanto tempo :(

def filtrar_numeros_pares(numeros_str):
  lista_de_numeros = numeros_str.split()

  numeros_pares_int = list(filter(lambda number: number % 2 == 0, map(int, lista_de_numeros)))

  numeros_pares_str = list(map(str, numeros_pares_int))

  print(f"Números pares: {' '.join(numeros_pares_str)}")

numeros = input("Digite os números separados por espaço: ")
filtrar_numeros_pares(numeros)
1 resposta

Oi, Laís! Como vai?

Gostei muito da sua sinceridade ao contar como foi o processo. O mais importante é que você conseguiu chegar à solução usando split(), map(), filter() e join(), que são recursos bastante úteis em Python. Não precisa ter vergonha por comparar sua solução com a do instrutor; muitas vezes, escrever mais etapas ajuda a entender melhor a lógica antes de aprender formas mais enxutas de resolver o mesmo problema.

Uma dica interessante para o futuro é conhecer as list comprehensions, que permitem filtrar listas de forma bem prática. Veja este exemplo:


numeros = [int(n) for n in entrada.split()]
pares = [n for n in numeros if n % 2 == 0]
print(pares)

Nesse exemplo, o código transforma os valores em números inteiros e cria uma nova lista contendo apenas os números pares.

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