Skip to main content
 首页 » 编程设计

python之我正在创建这个基于人工智能的战术脚趾应用程序

2024年01月18日68shangdawei

我正在用 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]}")