我正在用 python 创建这个基于人工智能的 TacTic Toe 应用程序,它工作得很好,但是一旦我更新了 python 版本,它就会显示错误并显示以下消息
(pylint)E0001:语法无效
这是原始代码
def print_board():
x = 0
for i in range(0,3):
print " "+board[x]+ " | "+board[x+1]+ " | " +board[x+2]
x+=3
if(x<8):
print"-----------"
else:
print
实际错误仅显示在这一行
print " "+board[x]+ " | "+board[x+1]+ " | " +board[x+2]
请帮忙修复
请您参考如下方法:
Pylint 错误 E0001意味着根据 Python 解释器,该语法无效。与其说这是一个 linting 错误,不如说这是一个无效的程序。
从 Python 3 开始,打印语句需要括号,如下所示:
print(" "+board[x]+ " | "+board[x+1]+ " | " +board[x+2])
这可能会修复 E0001 错误。虽然不是严格要求,但我建议更进一步,让这段代码读起来更像惯用的 python 代码,并使用字符串格式函数。这还有一个副作用,即将 board 的值转换为字符串,如果 board 的内容是非字符串,这将防止类型错误。
print(" {} | {} | {}".format(board[x], board[x+1], board[x+2]))
如果您使用的是 python 3.6 或更高版本,您可以更进一步,使用内置格式字符串语法,如下所示:
print(f" {board[x]} | {board[x+1]} | {board[x+2]}")