2 回答

TA贡献1860条经验 获得超8个赞
这里有一些问题:
如果你迭代一个列表,你遍历元素列表中,未对指标; 和
如果查询type(..)你就不会得到一个字符串作为回报元素,但对类的引用。因此,您可以像这样解决此问题:
board = [[1,2,3],[4,5,6],[7,8,9]]
def drawboard(board):
for row in board:
for item in row:
if type(item) == int:
print(str(item))
print("|")
else:
print(item)
print("|")
print("\n")
print("------")
print("\n")
drawboard(board)
由于非str项目通常str(..)在调用print时为-ed,因此我们甚至可以将ifandelse分支合并为:
def drawboard(board):
for row in board:
for item in row:
print(item)
print("|")
print("\n")
print("------")
print("\n")
drawboard(board)
如果继续进行这种类型检查,通常检查类型相等性也不是一个好主意。由于如果元素是子类的,则类型不再是int。然后,您最好使用isinstance(..)。
添加回答
举报