Project Eulerの問題3に基づいてコードを作成しました。「13195の素因数は5,7,13および29です.600851475143の最大の素因数は何ですか?Python forループ:「リストインデックスが範囲外です」エラー?
私は思っていた以下のコードがありますが、9行目(for k in range(2,res[j]):
)はエラーを返し続けます。 "IndexError:リストのインデックスが範囲外です"。 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]'は 'res'の' j'番目の項目に行き、 'res'は長さよりも大きい数字を持つためです。 – TemporalWolf
ループ構造に関するチュートリアルを確認する必要があります。 – TigerhawkT3