Python2索引器错误:列表索引超出范围

2024-04-26 05:43:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想解决欧拉项目第15题。在

我在mainarray中放了一些数组。在

我得到一个索引器错误:在第33行列出索引超出范围,不知道为什么。有人能帮我吗?在

谢谢。在

这是我的代码:

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

Tags: informakecellrangecolumnactmatrix
1条回答
网友
1楼 · 发布于 2024-04-26 05:43:42

要检查,当发生错误时,可以在akt_feld赋值之前添加以下代码:

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

或者直接打电话给mainarray[1][1]。在

^{pr2}$

相关问题 更多 >