索引超出范围,Python?

索引超出范围,Python?

问题描述:

我的程序应该自动填充(如ms paint)一个文本文件。我无法弄清楚为什么这会给我一个超出范围的索引。索引超出范围,Python?

此外,我的填充函数必须是递归的,并按照以下顺序调用相邻单元格:上,右,下和左。更好或更有效的方法来做到这一点,请让我知道(这就是如果我甚至做我想做的事情)。

+1

请告诉我们完整的堆栈跟踪! – ozgur

+1

这肯定与你的异常无关,但'input(print(“...”))'不能做你想要的。它打印提示符,但也打印'None'。你不需要在该上下文中使用'print','input'已经打印出它的参数。 – Blckknght

+0

@ozgur是你在找什么? – jjjjj

[int(row)][int(col)]不能按照您的预期工作。

它创建一个元件,其是int(row)然后试图访问其int(col)元件列表。实际上,每当int(col)> 0时,此行都会引发异常。

相反,你应该使用一个元组:

p = int(row), int(col) 

但请记住,这是不变的,所以您不能直接后来改:

p = int(row), int(col) 
p[0] = 3 
>> TypeError: 'tuple' object does not support item assignment 

虽然你可以重新分配新元组:

p = int(row), int(col) 
p = 3, int(col) 
+0

谢谢你。我将它改为一个元组,现在它给了我一个列表索引超出范围,如果board [pos [0]] [pos [1] +1] =='': – jjjjj

+0

由于相同的原因,所以应用相同的解决方案:) – DeepSpace