我一直在尝试制作一个tic-tac-toe游戏,到目前为止,我只创建了一个应该打印出棋盘的函数:
board = [[1,2,3],[4,5,6],[7,8,9]]
def drawboard(board):
for row in board:
for item in row:
if type(board[row][item]) == "int":
print(str(board[row][item]))
print("|")
else:
print(board[row][item])
print("|")
print("\n")
print("------")
print("\n")
drawboard(board)
正如您所看到的,我的函数的一部分是检查列表中列表中元素的类型,但它给了我一个错误:
列表回溯(最近一次调用):文件"/Users/Tony/Desktop/coding things/tic tac toe.py",第22行,在drawboard(board)\ File "/Users/Tony/Desktop/coding things/tic tac toe.py",第12行,在drawboard if type(boardrow) ==“==”:TypeError:列表索引必须是整数或切片,而不是列表
发布于 2018-07-09 03:06:15
在您的for循环中,row
和item
不是索引,您只需检查item
的类型,为此,您需要更改此行:
if type(board[row][item]) == "int":
至
if isinstance(item, int):
修复后:
def drawboard(board):
for row in board:
for item in row:
if isinstance(item, int):
print(str(item))
print("|")
else:
print(item)
print("|")
print("\n")
print("------")
print("\n")
https://stackoverflow.com/questions/51235129
复制相似问题