我仍然是初学者。目前,我正在使用Python 3制作井字游戏。我的一个用来检查空间是否已满的函数之一不断显示错误消息:
“ IndexError:列表索引超出范围”,
我不知道如何解决它。显然,这是if语句给我带来麻烦,但我没有发现任何问题。我已经在网上搜寻解决方案,但还没有找到解决方案。如果有人可以帮助我解决这个问题,我们将不胜感激。
vectfunc = np.vectorize(F,otypes=[np.float],cache=False)
答案 0 :(得分:0)
您的问题是position
是一个太大的数字,并且board
列表在该索引处没有值。
尝试在功能中打印位置,然后将其与电路板的尺寸进行比较以查看错误所在。
记住列表是零索引的,因此,如果列表为3x3
,则最高索引将是2
,而不是3
。
答案 1 :(得分:0)
想象一下,您有一个购物清单,上面有“葡萄,胡萝卜,面包”,您问清单中的第四件事是什么?这就是这个错误。您可能需要记住,列表的第一部分是索引0,但是length显示了您认为它的长度,如:
x = ['a', 'b']
a是x [0],b是x [1]。但是:
len(x) = 2
您需要完成的工作是更改
board[position]
收件人:
board[position-1]