Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Porque meu código não funciona?

Olá! Queria tentar descobrir porque meu código abaixo não funciona. Eu crio uma lista com números e queria separar os pares e os ímpares em duas listas separadas. Na minha cabeça, o código abaixo está correto, mas as listas 'pares' e 'impares' sempre está retornando vazia e sinceramente não sei o porque

numeros = [numero ** 2 for numero in range(0,51)]
pares = []
impares = []

for numero in numeros:
  if (numero // 2 == 1):
    pares.append(numero)
  else:
    impares.append(numero)

print(pares)

também tentei com list comprehensions e também não deu certo :(

numeros = [numero ** 2 for numero in range(0,51)]
pares = [numero for numero in numeros if numero / 2 == 1]
impares = [numero for numero in numeros if numero / 2 != 1]
print(pares)

help :(

2 respostas
solução!

Opa boa noite! Então, o seu código não estava tratando o resto da divisão para saber se um número é par ou impar, você estava com o operador // que te da a parte inteira de uma divisão. Por isso nenhum item entrava na sua lista de pares. O operador certo é o %. Resfiz o código de uma maneira que deu certo aqui. Se puder não esquece de colocar como problema resolvido, Valeu...

numeros = [numero ** 2 for numero in range(0,51)]
pares = []
impares = []

for numero in numeros:
    if numero%2 == 0:
        pares.append(numero)
    else:
        impares.append(numero)

print(pares)
print(impares)

O cara ser iniciante é foda viu!? hahahaha

Obrigado pela resposta!