У меня есть код, основанный на задаче 3 от Project Euler: «Основными факторами 13195 являются 5, 7, 13 и 29. Какой самый большой простой коэффициент числа 600851475143?»Python for loop: ошибка «индекс индекса вне диапазона»?
У меня есть код ниже, который, как я думал, будет работать, но строка 9 (for k in range(2,res[j]):
) продолжает возвращать ошибку: «IndexError: list index out the range». Кажется, я не изменяю свой список, когда я перехожу через цикл for, поэтому я не уверен, что случилось.
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)
Кто-нибудь знает, где я иду не так?
Спасибо!
Ваш код не имеет правильного отступа. пожалуйста, исправьте его, чтобы мы могли вам помочь! – Arman
, потому что 'res [j]' переходит в 'j'th элемент в' res', а 'res' имеет числа, большие, чем длина. – TemporalWolf
Вы должны просмотреть руководство по созданию циклов. – TigerhawkT3