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

2024-05-16 00:26:54 发布

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

这是codewars.com上kata的一部分,其目标是构建一个函数,该函数可以接受一个9x92d的数字数组(嵌套列表),表示一个数独难题,并解决它。你知道吗

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

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数组的所有角都未知的谜题。你知道吗


Tags: 函数字符串列表错误数字col数组num