-4
這段代碼模擬合併2本聯繫簿。爲什麼我的程序錯誤(python)?
我的第18行代碼錯誤沒有明顯的原因與短語錯誤。我很確定這個措辭是正確的,程序應該運行,但每次我得到一個短語錯誤。
class ContactBook:
"""
This class represents a book of contacts.
It can store names and phone numbers.
"""
def __init__(self):
# Create an empty dictionary
self.contacts = {}
def __repr__(self):
# Just print a string version of the dictionary
return str(self.contacts)
def __add__(self, other):
con2 = ContactBook()
for name in self.contacts:
if name in other.contacts and self.contacts[name] != other.contacts[name]:
con2.contacts[name] = self.contacts[name] + " or " + other.contacts[name]
else:
con2.contacts[name] = self.contacts[name]
for name in other.contacts:
if name not in self.contacts:
con2.contacts[name] = other.contacts[names]
return con2
def add_contact(self, name, number):
# Adds a name --> phone number pair to
# the dictionary.
self.contacts[name] = number
#############################
# Program starts here
cb1 = ContactBook()
cb2 = ContactBook()
cb1.add_contact("Jonathan", "444-555-6666")
cb1.add_contact("Puneet", "333-555-7777")
cb2.add_contact("Jonathan", "222-555-8888")
cb2.add_contact("Lisa", "111-555-9999")
# The result of this should be a book that
# looks like this:
#
# {
# "Jonathan": "444-555-6666 or 222-555-8888",
# "Puneet": "333-555-7777",
# "Lisa": "111-555-9999"
# }
cb3 = cb1 + cb2
print cb1
print cb2
print cb3
請分享堆棧跟蹤與你所得到的錯誤消息。我從來沒有聽說過Python中的* Phrase Error *。如果不知道錯誤,我們將無法爲您提供幫助 –
您的__init__縮進不正確 – Mark
糾正拼寫錯誤後適用於我。 – L3viathan