2011-09-22 47 views
7

我是一個初學者使用python 3.2,我有一本書whos代碼都在python 2.6中。我寫了一個程序的一部分,並不斷收到: 語法錯誤:無效的語法 那麼Python的IDLE凸顯在我的代碼KeyError異常後的逗號:python 3.2中的KeyError語法錯誤

from tank import Tank 

tanks = { "a":Tank("Alice"), "b":Tank("Bob"), "c":Tank("Carol")} 
alive_tanks = len(tanks) 

while alive_tanks > 1: 
    print 
    for tank_name in sorted(tanks.keys()): 
     print (tank_name, tanks[tank_name]) 

    first = raw_input("Who fires? ").lower() 
    second = raw_input("Who at? ").lower() 

    try: 
     first_tank = tanks[first] 
     second_tank = tanks[second] 
    except KeyError, name: 
     print ("No such tank exists!", name) 
     continue 
+0

代碼不完整,但我得到這個錯誤,並在編寫你的問題後停止編碼 – ahmedalishaikh

+0

,你應該突出代碼並單擊代碼按鈕。這將照顧使你的鱈魚可讀。我已經在這裏爲你做了。 –

+0

感謝很多人現在的工作 – ahmedalishaikh

回答

13

而不是

except KeyError, name: 

嘗試

except KeyError as name: 

它是Python 2.x和Python 3.x之間的區別。第一種形式不再支持。