2016-07-01 9 views
0

プロジェクトオイラー問題を解決しようとしています15.Python 2 IndexError:リストインデックスが範囲外です

私はいくつかの配列をmainarrayに配置しました。

33行目のIndexError:listインデックスが範囲外になり、その理由がわかりません。誰か助けてくれますか?

ありがとうございました。ここで

は私のコードです:

def make_file(num_matrix): 
    file = open("euler15.csv", "w") 

    for a in num_matrix: 
     for b in a: 
      file.write(str(b) + ",") 
     file.write("\n") 
    file.close() 

mainarray = [] 

act_cell_row = 1 
act_cell_column = 1 
summand_1 = 0 
summand_2 = 1 
x = 1 
y = 0 
for c in range(0,20): 
    mainarray.append([]) 
for d in range(2,22): 
    mainarray[0].append(d) 
for e in range(3,22): 
    mainarray[x].append(e) 
    x += 1 

for f in mainarray: 
    for g in f: 
     print "act_cell_column ", act_cell_column 
     print "act_cell_row ", act_cell_row 
     print "summand_2 ", summand_2 
     print "summand_1 ", summand_1 
     akt_feld = (mainarray[summand_1][summand_2]) + (mainarray[summand_2][summand_1]) 
     mainarray[act_cell_row][act_cell_column] = akt_feld 
     if y < 18: 
      summand_2 += 1 
      act_cell_column += 1 
      y += 1 
    summand_1 += 1 
    summand_2 = 1 
    act_cell_row += 1 
    act_cell_column = 1 

make_file(mainarray) 
result = mainarray[19][19] 
print "RESULT: ", result 
+0

完全なトレースバックを含める必要があります。あなたのコードの31行目は 'print 'summand_1、summand_1'です。 –

+1

MAINARRAY:[[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]、[3]、 [4]、[5]、[6]、[7]、[8]、[9]、[10]、[11]、[12]、[13]、[14]、[15]、[16 ]、[17]、[18]、[19]、[20]、[21]] xは19になります。 0から19 – Mr3m4r3

+0

また、 'for g in f'ループの後に' summand_1'をリセットすることを忘れてしまいます。 – Arnial

答えて

0

確認するには、エラーがoccuresとき、あなたがakt_feld代入する前にこのコードを追加することができます

try: 
    _ = mainarray[summand_1][summand_2] 
except IndexError: 
    print("something wrong with this indexes", summand_1, summand_2) 

それともmainarray[1][1]を呼び出します。

In [7]: print(mainarray[1]) 
[3] 

In [8]: print(mainarray[1][1]) 
--------------------------------------------------------------------------- 
IndexError        Traceback (most recent call last) 
<ipython-input-8-e23bb5ccbc5a> in <module>() 
----> 1 print(mainarray[1][1]) 

IndexError: list index out of range 
+0

試してみると、エラーは前と同じです。私は "このインデックスで何か問題がある" – Mr3m4r3

関連する問題