我是初学者使用python 3.2,我有一本书的代码都在python 2.6中。我写了一个程序的一部分,并继续得到: 语法错误:语法无效 然后python的IDLE突出显示我的代码中的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 :(得分:16)
而不是
except KeyError, name:
试
except KeyError as name:
它是Python 2.x和Python 3.x之间的区别。第一种形式不再受支持。