Voici ma version du crible d'Eratosthène pour trouver des nombres premiers jusqu'à une limite n. Je me sens comme ça devrait fonctionner, mais je reçois une erreur et je ne comprends pas vraiment pourquoi:erreur de valeur pour résoudre un problème d'eratosthenes en python
mylist.remove(i)
ValueError: list.remove(x): x not in list
Pourquoi faut-il mentionner x?
Voici le code:
def number_list(n):
mylist = []
for i in range(2,n+1):
mylist.append(i)
return mylist
def sieve():
n = eval(input("What is the maximum limit? "))
mylist = number_list(n)
primes = []
for i in mylist:
p = mylist.pop(0)
primes.append(p)
if i % p == 0:
mylist.remove(i)
return primes