Ich habe ein Problem beim Erstellen einer einfachen Klasse auf codewars. Ich erhalte den folgenden Fehler:Python 3.5 Fehler mit Init-Funktion nicht genügend Argumente
Traceback: in TypeError: __init__() takes exactly 3 arguments (2 given)
Ich weiß, ich die init-Funktion zusammen mit dem self
Parameter mit zwei Parametern geliefert. Wenn ich mein Objekt aus meiner Klasse erstelle, gebe ich zwei Zeichenfolgen für die zwei Parameter an. Ich bin mir nicht sicher, was ich sonst falsch mache. Ist es der Codewarebrowser? Ich schätze jede Hilfe. Bitte siehe unten:
class Person:
def __init__(self, name, other_name):
self.name = name
self.other_name = other_name
def greet(self):
return "Hi {0}, my name is {1}".format(self.other_name, self.name)
xy = Person("Raiden", "Donald")
xy.greet()
ich die anderen Fragen zu diesem Thema überprüft und es scheint immer, dass das Problem ist, dass die Person, die die Klasse aufrufen nicht mit den erforderlichen Parametern versorgen wird. Ich mache das aber. Ich schätze jede Hilfe.
EDIT ************
Es ist erwähnenswert, dass ich den obigen Code in meinem normalen Python IDLE produzieren kann. Ich habe genau diesen Code im Codewars-Fenster. Sie ist die ursprüngliche Codewarefrage: Korrigieren Sie diesen Code, damit die Begrüßungsfunktion den erwarteten Wert zurückgibt.
class Person:
def __init__(self, name):
self.name = name
def greet(self, other_name):
return "Hi {0}, my name is {1}".format(other_name, name)
Kann nicht auf Python reproduzieren 3.5.1 – vaultah
Welches Codewareproblem machst du? Kannst du den Link posten? Sind Sie sicher, dass der gesamte Code im Codewars-Editorfenster vorhanden ist? – idjaw
Ich habe meinen ursprünglichen Kommentar bearbeitet, um den ursprünglichen codewars Startcode plus die Frage zu enthalten. Es ist auch erwähnenswert, dass ich den ursprünglichen Code, den ich in meinem IDLE geschrieben habe, ohne Fehler reproduzieren kann. – raidboss