Oi, Juan! Como você está?
Parabéns pelo desenvolvimento do desafio! Olhando seu código mais de perto, notei que ele está, na realidade, adicionando todos os números ímpares à lista, e não apenas os números primos. Para um número ser considerado "primo" ele deve ter apenas dois divisores: 1 e ele mesmo. Alguns exemplos são os números 2, 3, 5, 7, 11 e 13.
Reorganizando a lógica do seu programa, podemos chegar neste exemplo:
numero_usuario = int(input("Digite um número: "))
lista_de_numeros_primos = []
numero = 2 # começamos em 2, porque 1 não é primo
while numero <= numero_usuario:
i = 2
while i < numero:
if (numero % i) == 0: # se o número é divisível por i, ele não é primo
break
i += 1
else: # se não encontramos nenhum divisor, o número é primo
lista_de_numeros_primos.append(numero)
numero += 1
print(lista_de_numeros_primos)
Com o código acima, verificamos todos os números entre 2 e o número que você digitou para ver se eles são primos. Se um número é primo (considerando a regra que apresentei anteriormente), ele é adicionado à lista!
Espero que tenha ficado mais claro, Juan! Fico muito feliz em vê-lo desenvolvendo suas habilidades. Continue caprichando e se dedicando aos estudos!
Se alguma dúvida surgir, pode contar comigo.
Um abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!