索引超出范围,Python?

索引超出范围,Python?,python,Python,我的程序应该自动填充(像ms paint)文本文件。我不明白为什么这会给我一个超出范围的索引 此外,我的fill函数必须是递归函数,并按以下顺序调用相邻单元格:上、右、下和左。更好或更有效的方法请让我知道(如果我正在做我想做的事情)。[int(row)][int(col)]没有像您期望的那样工作 它创建一个包含一个元素的列表,即int(row),然后尝试访问其int(col)元素。实际上,每当int(col)为>0时,此行都会引发异常 相反,您应该使用元组: p = int(row), int(

我的程序应该自动填充(像ms paint)文本文件。我不明白为什么这会给我一个超出范围的索引

此外,我的fill函数必须是递归函数,并按以下顺序调用相邻单元格:上、右、下和左。更好或更有效的方法请让我知道(如果我正在做我想做的事情)。

[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)

请给我们看完整的stacktrace!这当然与您的异常无关,但是
input(print(“…”)
并不能满足您的需要。它会打印提示,但也会打印
None
。您不需要在该上下文中使用
print
input
已经打印了它的参数。@ozgur这就是您要找的吗?@Blckknght老实说,我想知道None是从哪里随机产生的,谢谢。谢谢您。我把它改成一个元组,现在它给了我一个超出范围的列表索引,如果board[pos[0]][pos[1]+1]='':出于同样的原因,这是同样的错误,所以应用同样的解决方案:)