Python:“IndexError:字符串索引超出范围”,但没有字符串?

时间:2017-01-24 13:52:22

标签: python arrays string indexing

这是codewars.com上的kata的一部分,其目标是构建一个函数,该函数可以采用数字的9x9 2D数组(嵌套列表),代表数独谜题,并解决它。

我的解决方案通过了其中一个测试但第二个失败了,我无法确切地看到导致此失败的输入。 它提到字符串索引错误发生在这段代码中:

def square_check(row_num, col_num):
    r, c = row_num % 3, col_num % 3
    rbase, cbase = row_num - r, col_num - c
    return [puzzle[rbase+(r+1)%3][cbase+(c+1)%3], 
            puzzle[rbase+(r+1)%3][cbase+(c+2)%3], 
            puzzle[rbase+(r+2)%3][cbase+(c+1)%3], 
            puzzle[rbase+(r+2)%3][cbase+(c+2)%3]] 

返回由索引row_num和col_num给出的拼图(9x9数组)的每个未知方块的相应3x3平方中的数字列表。它只查看四个正方形,因为其他四个正在其他地方检查。

据我所知,这里没有字符串可以索引,更不用说产生索引错误了。我索引的唯一东西是9x9数组,但这些数字总是在0到8之间,如果不是,我会期望列表索引错误。我确定这不是模块化算法的问题,因为它在我的编译器中适用于我给出的每个谜题,甚至是例如9x9数组的所有角落都未知的那些。

0 个答案:

没有答案