-4
Dieser Code simuliert das Zusammenführen von 2 Kontaktbüchern.Warum ist mein Programm fehlerhaft (Python)?
Meine Code-Fehler in Zeile 18 ohne ersichtlichen Grund mit einem Satzfehler. Ich bin mir ziemlich sicher, dass die Phrasierung korrekt ist und dass das Programm laufen sollte, aber jedes Mal bekomme ich einen Satzfehler.
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
Bitte teilen Sie den Stapel-Trace mit der Fehlermeldung, die Sie bekommen. Ich habe noch nie von Phrase Error * in Python gehört. Wir können Ihnen nicht helfen, ohne den Fehler zu kennen –
Ihr __init__ ist nicht korrekt eingerückt – Mark
Funktioniert für mich, sobald die Tippfehler korrigiert sind .. – L3viathan