2017-02-12 2 views
1

내 코드 :builtins.TypeError : __init의 __() 실종이 개 필요한 위치 인수 :

class SUCHER(EventHandler): 

def __init__(self): 
    self.vokabel = VOKABEL() 
    EventHandler.__init__(self) 
    self.button = Button("Suchen!", Point(250,200)) 
    self.button.setFontSize(25) 
    self.button.setFillColor("lightgrey") 
    self.button.addHandler(self) 
    self.lateinischesWort = TextBox(200,50,Point(120,100)) 
    self.übersetzungsText = Rectangle(200,50,Point(380,100)) 
    self.textD = Text("Deutsches Wort", 15, Point(380,50)) 
    self.textL = Text("Lateinisches Wort", 15, Point(120,50)) 
    self.textU = Text(self.vokabel, 25, Point(380,100)) 

def anzeigenIn(self, Fenster): 
    Fenster.add(self.button) 
    Fenster.add(self.übersetzungsText) 
    Fenster.add(self.lateinischesWort) 
    Fenster.add(self.textD) 
    Fenster.add(self.textL) 
    Fenster.add(self.textU) 

def handle(self, Event): 
    if Event.getDescription() == "mouse click": 
     self.textL = self.wort 
     self.textU = self.übersetzung 
     self.textU.setMessage(self.vokabel) 

class BINÄRBAUM: 

def __init__(self): 
    self.wurzel = ABSCHLUSS() 

def einfügen(self, Datum): 
    self.wurzel = self.wurzel.einfügen(Datum) 

def inorderAusgeben(self): 
    self.wurzel.inorderAusgeben() 

def preorderAusgeben(self): 
    self.wurzel.preorderAusgeben() 

def postorderAusgeben(self): 
    self.wurzel.postorderAusgeben() 

def suchen(self, Schlüssel): 
    self.wurzel.suchen(Schlüssel) 

class KNOTEN: 

def __init__(self, Datum): 
    self.datum = Datum 
    self.links = ABSCHLUSS() 
    self.rechts = ABSCHLUSS() 

def einfügen(self, Datum): 
    if Datum.schlüsselGeben() < self.datum.schlüsselGeben(): 
     self.links = self.links.einfügen(Datum) 
    else: 
     self.rechts = self.rechts.einfügen(Datum) 
    return self 

def inorderAusgeben(self): 
    self.links.inorderAusgeben() 
    self.datum.informationAusgeben() 
    self.rechts.inorderAusgeben() 

def preorderAusgeben(self): 
    self.datum.informationAusgeben() 
    self.links.preorderAusgeben() 
    self.rechts.preorderAusgeben() 

def postorderAusgeben(self): 
    self.links.postorderAusgeben() 
    self.rechts.postorderAusgeben() 
    self.datum.informationAusgeben() 

def suchen(self, Schlüssel): 
    if self.datum.schlüsselGeben() == Schlüssel.casefold(): 
     self.datum.informationAusgeben() 
    elif self.datum.schlüsselGeben() > Schlüssel.casefold(): 
     self.links.suchen(Schlüssel) 
    else: 
     self.rechts.suchen(Schlüssel) 

class ABSCHLUSS: 

def __init__(self): 
    pass 

def einfügen(self, Datum): 
    return KNOTEN(Datum) 

def inorderAusgeben(self): 
    pass 

def preorderAusgeben(self): 
    pass 

def postorderAusgeben(self): 
    pass 

def suchen(self, Schlüssel): 
    pass 

class VOKABEL: 

def __init__(self, Wort, Übersetzung): 
    self.wort = Wort 
    self.übersetzung = Übersetzung 

def informationAusgeben(self): 
    print("Das Wort",self.wort,"hat die Bedeutung",self.übersetzung,".") 

def schlüsselGeben(self): 
    return self.wort.casefold() 

v = VOKABEL("Nebel", "fog") 
s = SUCHER() 
b = BINÄRBAUM() 
b.einfügen(v) 
b.inorderAusgeben() 
b.preorderAusgeben() 
b.postorderAusgeben() 
b.suchen("Nebel") 
fenster = Canvas(500,250) 
s.anzeigenIn(fenster) 

나는 독일에서 프로그래머 그리고 난은 problem.By 내가 모듈 cs1graphics를 사용하는 방법이있다. 오류가 발생했습니다 : builtins.TypeError : 초기화() 2 개의 필수 위치 인수가 없습니다 : 'Wort'및 'Übersetzung' 그래서 이것을 해결하려면 어떻게해야합니까?

+2

들여 쓰기가 잘못되었습니다. 클래스 내의 모든 메소드는 해당 클래스 내에서 들여 쓰기되어야합니다. – cdarke

+1

들여 쓰기를 수정하십시오. –

+1

'self.vokabel = VOKABEL()'은 두 개의 필수 매개 변수를 제공하지 않습니다. – cdarke

답변

0
class SUCHER(EventHandler): 
def __init__(self): 
    self.vokabel = VOKABEL() 

새로운 VOKABEL 클래스에는 필요한 두 개의 인수를주지 않고 인스턴스가 생성됩니다. 여기를 참조하십시오 :

class VOKABEL: 

def __init__(self, Wort, Übersetzung): 
+0

알았어, 고마워. 하지만 무엇을 구체적으로 바꾸어야합니까? SUCHER에서 VOKABEL의 인수가 필요하며 SUCHER의 VOKABEL 인수를 원하지 않지만 인수가있는 새 객체 (self.vokabel)를 가져 오려고합니다. – YanHem

+0

내가 원하는 것을 잘 이해할 수는 없지만 SUCHER에서'v = VOKABEL ("Nebel", "fog")'에 의해 생성 된 Vokabel 인스턴스가 필요하다면, 인수로 전달할 수 있습니다 :'s = SUCHER (v)'그리고 나서'클래스 SUCHER (EventHandler) : def __init __ (self, vokabel) : self.vokabel = vokabel' 그것은 무엇입니까? – VdF

+0

정말 감사합니다. :) – YanHem

관련 문제