プログラミングを始めたばかりで、練習のために Project Euler の問題を Python で解いています。(これは問題 2 で、400 万以内の偶数のフィボナッチ数の合計を見つけます。) 私の問題は、リスト内の奇数を見つけて削除しようとしている一番下のループに現れます。
del fiblist[i]
次のエラーメッセージが表示されます。
トレースバック (最新の呼び出しが最後): ファイル ".../euler.py"、35 行目、del fiblist[i] 内 IndexError: リスト割り当てインデックスが範囲外
ここで何が間違っているのかわかりません。誰かが私がここで間違っていることを理解するのを手伝ってくれたら本当にありがたいです。
#euler2
def fibonacciList(limit):
'''generates a list of fib numbers up to N'''
mylist = []
a,b = 1,2
while True:
if a <= limit:
mylist.append(a)
a,b = b,a+b
else:
break
return mylist
fiblist = fibonacciList(4000000)
for i in fiblist:
if i%2 != 0: #if not even, delete from list
print i
del fiblist[i]
print fiblist