2014-10-25 4 views
-1

Я создаю базовую программу на python, которая видит, как игрок стирает AI в игре с tic tac toe. Проблема, с которой я сталкиваюсь, заключается в том, что переменная, которую я пытаюсь создать, получает синтаксическую ошибку, которую я не могу исправить. К сожалению, мой недостаток опыта работы с python означает, что я изо всех сил пытаюсь понять, что искать, чтобы найти решение. Я также не уверен, сколько кода включить, поскольку я точно не знаю, что влияет на него. Если бы кто-то смог связать сайт стиля jsfiddle для python, я включу полный код.Ошибка определения переменной

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" 

Я получаю ошибку, когда я бегу программа «недопустимый синтаксис» и «тест» подсвечивается. Я предполагаю, что я ошибся с тем, как я определяю переменную? Я не понимаю, что переменная «квадрат» отлично работает, и, насколько я вижу, я определил их одинаково. Я пробовал разные имена переменных, так как я не уверен, что тест является ключевым словом в python.

Если кто-то уже ответил на этот вопрос, я с радостью удалю вопрос.

Любая помощь очень ценится.

ответ

1

Ошибка на самом деле на линии перед определением test:

downtwo = int(randint(0,600/200) 

Вам нужно добавить еще один ) до конца этой линии.

+0

ура, мне действительно нужно лучше разобраться в таких глупых вещах. –