2013-03-10 127 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并[a]] [spotY并[b]]' – 2013-03-10 04:15:47

+0

FYI,语法错误经常会被标记为在一条线上或者两个是如果错误是缺少分隔符(比如'''''),那么在发生实际错误后,因为解释器会继续寻找那个')'并且找到'return'语句,或者不属于'()'的东西。这是令人不安的地方,但不是你需要修复的地方。 – askewchan 2013-03-10 04:32:47

回答

1

错误提到return val行的原因是因为它认为它是append函数的一部分,实际上您只是忘记关闭括号。

val.append(newBoard[spotX[a]][spotY[b]])