J'ai un code, basé sur le problème 3 du Projet Euler: "Les facteurs premiers de 13195 sont 5, 7, 13 et 29. Quel est le plus grand facteur premier du nombre 600851475143?"Python pour boucle: erreur "liste d'index hors de portée"?
J'ai un code ci-dessous que je pensais fonctionner, mais la ligne 9 (for k in range(2,res[j]):
) continue de retourner l'erreur: "IndexError: indice de liste hors de portée". Il ne semble pas que je modifie ma liste au fur et à mesure que je parcours ma boucle for, donc je ne suis pas sûr de ce qui ne va pas.
def find_primes(num):
res = []
print(num)
for i in range(2,num):
if num%i==0:
res.append(i)
for j in res:
for k in range(2,res[j]):
if res[j]%k==0:
res[j]=False
list(filter((False).__ne__, res))
m = max(res)
return(m)
Est-ce que quelqu'un sait où je vais mal?
Merci!
Votre code n'a pas d'indentation correcte. veuillez le corriger afin que nous puissions vous aider! – Arman
parce que 'res [j]' va au 'j'th item dans' res', et 'res' a des nombres plus grands que sa longueur. – TemporalWolf
Vous devriez revoir un tutoriel sur les constructions en boucle. – TigerhawkT3