2013-03-10 1 views
0

Я получаю ошибку «Недействительный синтаксис» для моего кода, но я понятия не имею, почему. Мой код должен создать двумерный список нулей, а затем изменить один из нулей на один и проверить определенные значения списка, чтобы увидеть, вернет ли он 1 или просто нули. Я определяю функцию, которая должна возвращать список смежных значений ячейки, но по какой-то причине возникает синтаксическая ошибка. Вот мой код:Недопустимый синтаксис: функция не возвращает значение

def test(x,y): 
    spotX = [(x-1)%height,0,(x+1)%height] 
    spotY = [(y-1)%height,0,(y+1)%height] 
    val = [] 
    for a in range(3): 
     for b in range(3): 
      if a and b != 2: 
       val.append(newBoard[spotX[a]][spotY[b]] 
    return val 

Синтаксическая ошибка заключается в том, что строка «return val».

+7

Там в отсутствие ')' в конце 'val.append (newBoard [spotX [а]] [Spoty [б]]' –

+0

FYI, синтаксические ошибки часто получают помечается как в строке или два после фактической ошибки, если ошибка является недостающим разделителем (например, ')'), потому что интерпретатор продолжит поиск этого ')' и найдет оператор 'return' или что-то, что не принадлежит внутри'() '. Вот где это расстроено, но не там, где вам нужно это исправить. – askewchan

ответ

1

Причина, по которой ошибка указывает линию return val, заключается в том, что она считает, что она является частью функции добавления, когда на самом деле вы просто забыли закрыть скобку.

val.append(newBoard[spotX[a]][spotY[b]]) 
Смежные вопросы