Ceci est mon code. J'essaye de faire un tamis efficace mais simple d'Erasthotenes mais quand je cours le programme il continue juste de renvoyer des nombres entiers, aussi grand que j'ai mis la gamme. Ceci est en python 3.Pourquoi mon tamis d'Erasthotenes ne fonctionne-t-il pas? Python 3
lyst = []
for i in range(2, 100):
print(i)
lyst.append(i)
count = 2
index = 1
for x in lyst:
print(str(index) + " : " + str(count))
if x%count == 0 and x != count:
lyst.remove(x) #removing all multiples of count
if max(lyst) == count: #breaks loop if count is the largest prime
break
else:
count = lyst[lyst.index(count)+1] #turns count into next prime
index += 1 #this is just for me to track how many primes i've found
Pourquoi comparez-vous 'count == lyst ...'? (Et jetez le résultat.) – usr2564301
J'essaye de transformer le compte en premier suivant, c'est le prochain plus grand dans la liste. Essayer de reproduire ce qu'il dit sur wikipedia pour le crible: –
vous réalisez que vous supprimez tous les x ... non seulement multiples ..? – Noctis