2013-03-10 101 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]])