0

作为计算机科学作业的一部分,我被要求测试数独网格是否有效。我已经对程序进行了几次调试,并将第二次迭代的值插入到问题区域中,并返回了正确的值——所以显然我忽略了一些东西。

以下代码部分给我带来了问题:

array = ['752639841','348751926','169284573','923146785','481975362','675823194','816392457','294517638','537468219']
columncheck=True
a=0
b=0
x=1
for i in range(9):
    x=1
    for c in range(9):
        x=x*int((array[a])[b])
        a=a+1
    if x!=362880:
        columncheck=False   
        print(x)
    b=b+1

它返回以下错误:“builtins.IndexError: list index out of range”在第二次迭代中的第 9 行,其中 c=1、a=1、x=7 和 b=0。

希望有一个简单的解决方法,提前感谢您的帮助。

4

1 回答 1

1

a在您的代码中变为 9,这当然不是有效的索引array

for i in range(9):
    x=1
    for c in range(9):
        print(a)  # notice this output
        print(b)
        x=x*int((array[a])[b])
        a=a+1
于 2013-05-05T08:29:13.193 回答