2011-09-22 35 views
7

Tôi là người mới bắt đầu sử dụng python 3.2 và tôi có một mã whos sách là tất cả trong python 2.6. tôi đã viết một phần của một chương trình và giữ nhận: Cú pháp Lỗi: không hợp lệ cú pháp Sau đó IDLE python nêu bật những dấu phẩy sau KeyError trong mã của tôi:lỗi cú pháp với KeyError trong python 3.2

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

mã không hoàn tất nhưng tôi gặp lỗi này và dừng mã hóa – ahmedalishaikh

+0

sau khi viết câu hỏi, bạn nên đánh dấu mã và nhấp vào nút mã. Điều đó sẽ đảm bảo làm cho cod của bạn có thể đọc được. Tôi đã làm nó cho bạn ở đây. –

+0

cảm ơn rất nhiều người đàn ông nó hoạt động bây giờ – ahmedalishaikh

Trả lời

13

Thay vì

except KeyError, name: 

thử

except KeyError as name: 

Sự khác biệt của nó giữa Python 2.x và Python 3.x. Biểu mẫu đầu tiên không còn được hỗ trợ.

Các vấn đề liên quan