问题:当下面显示的代码从我的代码的另一部分运行时(如下所示),它会产生一个索引错误,并在明显不是的情况下显示“列表索引超出范围”。在
代码(Python版本3.6.3):
def canwin(XoY):
LookingForNum = True
openspaces = []
dupeboard = board[:]
a = 0
for i in range(9):
if board[a] == " ":
openspaces = openspaces + [a]
a = a + 1
a = 0
for i in range(len(openspaces)):
e = openspaces[a]
dupeboard = [:]
dupeboard[e] = XoY
if dupeboard[0] == XoY and dupeboard[1] == XoY and dupeboard[2] == XoY:
return True
elif dupeboard[3] == XoY and dupeboard[4] == XoY and dupeboard[5] == XoY:
return True
elif dupeboard[6] == XoY and dupeboard[7] == XoY and dupeboard[8] == XoY:
return True
elif dupeboard[0] == XoY and dupeboard[3] == XoY and dupeboard[6] == XoY:
return True
elif dupeboard[1] == XoY and dupeboard[4] == XoY and dupeboard[7] == XoY:
return True
elif dupeboard[2] == XoY and dupeboard[5] == XoY and dupeboard[8] == XoY:
return True
elif dupeboard[0] == XoY and dupeboard[4] == XoY and dupeboard[8] == XoY:
return True
elif dupeboard[2] == XoY and dupeboard[4] == XoY and dupeboard[6] == XoY:
return True
else:
return False
a = a + 1
运行起点:
^{pr2}$我所做的:我尝试过检查python文档中的索引错误,但没有成功。我还检查了其他堆栈溢出问题,但没有运气。在
完整回溯:
Traceback (most recent call last):
File "C:\Users\user\Desktop\Pu\Testing Tic Tac Toe AI.py", line 316, in <module>
PlayerPlay()
File "C:\Users\user\Desktop\Pu\Testing Tic Tac Toe AI.py", line 301, in PlayerPlay
AIPlay(board)
File "C:\Users\user\Desktop\Pu\Testing Tic Tac Toe AI.py", line 283, in AIPlay
PlayerPlay()
File "C:\Users\user\Desktop\Pu\Testing Tic Tac Toe AI.py", line 301, in PlayerPlay
AIPlay(board)
File "C:\Users\user\Desktop\Pu\Testing Tic Tac Toe AI.py", line 283, in AIPlay
PlayerPlay()
File "C:\Users\user\Desktop\Pu\Testing Tic Tac Toe AI.py", line 301, in PlayerPlay
AIPlay(board)
File "C:\Users\user\Desktop\Pu\Testing Tic Tac Toe AI.py", line 259, in AIPlay
if canwin("O"):
File "C:\Users\user\Desktop\Pu\Testing Tic Tac Toe AI.py", line 70, in canwin
elif dupeboard[2] == XoY and dupeboard[5] == XoY and dupeboard[8] == XoY:
IndexError: list index out of range
目前没有回答
相关问题 更多 >
编程相关推荐