2013-07-26 61 views
-2

我對for循環有點麻煩。我得到SyntaxEror:無效的語法行2,當我嘗試運行下面的代碼:Python - 循環無效的語法

myList = [[3,5,7,10,47,5,11],[6,23,26,38,39,4,11],[11,27,33,39,44,2,10],[15,19,32,43,45,1,2]] 
for x in myList: 
    if x == [3,5,7,10,47,5,11]: 
      print 'match' 
    else: 
     print 'no match' 

我已經使用了循環做循環,如下面的一個:

animals = ['dog','bear','cat','lion','zebra'] 
animals.sort() 
for x in animals: 
    if x == 'dog': 
     print 'match' 
    else: 
     print '' 

,他們似乎總是工作。我有一種感覺,也許myList變量的語法是錯誤的。我試過使用''並聲明int,但沒有運氣。

程序應該將所有的子列表指定爲x,然後查看x是否與我設置的列表匹配,並簡單地告訴我它是否匹配。

錯誤消息:

File "match.py", line 2 
    for x in myList: 
    ^
SyntaxError: invalid syntax 

任何幫助將非常感激。

+1

*行3 *上有一個縮進錯誤,但這可能只是一個發佈錯誤。否則這裏沒有錯誤。請*包括*您的帖子中的實際錯誤信息,而不是讓我們猜測。 –

+0

您發佈的代碼不應該給出該錯誤。請仔細檢查此頁面上的代碼是否是您正在運行的**完全**代碼。 – FakeRainBrigand

回答

4

縮進print語句:

if x == [3,5,7,10,47,5,11]: 
    print 'match' 
+0

至少是第3行。 –

+0

看起來你可能在代碼中混合了空格和製表符。 – unutbu

+0

得到它的工作。我在我的代碼中註釋了#,它阻止了最後的括號]被包含在代碼中。謝謝 - 問候。 – BubbleMonster

0

添加一個新的,有效行以上for循環,就像一個print聲明。

現在有語法錯誤嗎?然後,您的清單沒有正確關閉,您在第一行行錯過了右括號。檢查您的所有開放{[(花括號與相應的}])匹配。