我正在python中创建一个基本程序,在一个tic tac toe游戏中看到一个玩家与AI相对。我遇到的问题是我试图创建的变量是一个语法错误,我无法解决。不幸的是,我缺乏python的经验意味着我很难知道要搜索什么来寻找解决方案。我也不确定要包含多少代码,因为我不确切知道影响它的是什么。如果有人可以为python链接一个jsfiddle样式的网站,我将包含完整的代码。
Python 2.7.6:
def click(event):
across = int(c.canvasx(event.x / 200))
down = int(c.canvasy(event.y / 200))
square = across + (down * 3)
if grid[square] == "X" or grid[square] == "O":
return
if winner():
return
if c.shape == "O":
c.create_oval(
across * 200, down * 200,
(across + 1) * 200, (down + 1) * 200
)
grid[square] = "O"
c.shape = "X"
acrosstwo = int(randint(0,600)/200)
downtwo = int(randint(0,600/200)
test = acrosstwo + (downtwo * 3)
if grid[test] == "X" or grid[test] == "O":
acrosstwo = int(randint(0,600)/200)
downtwo = int(randint(0,600/200)
else:
c.create_line(
acrosstwo * 200, downtwo * 200,
(acrosstwo + 1) * 200, (downtwo + 1) * 200
)
c.create_line(
acrosstwo * 200, (downtwo + 1) * 200,
(acrosstwo + 1) * 200, downtwo * 200
)
grid[square] = "X"
c.shape = "O"
运行程序时出现的错误是“语法无效”,“test”突出显示。 我认为我在如何定义变量时出错了? 我不明白的是变量“square”工作正常,据我所知,我已经以相同的方式定义它们。我尝试了不同的变量名,因为我不确定test是否是python中的关键字。
如果某人已经回答了这个问题,那么我很乐意删除这个问题。
非常感谢任何帮助。
答案 0 :(得分:1)
错误实际上在test
:
downtwo = int(randint(0,600/200)
您需要在此行的末尾添加另一个)
。