Am Samstag, 27. Dezember 2003 12:01 schrieb Uwe Hoffmann:
Albert Hermeling wrote:
Hallo Uwe,
def suchen(self, string): a=hash(string) b=hash(self.string) if a > b and self.lings: self.lings.suchen(string)
return self.lings.suchen(string)
die rekursiven aufrufe müssen immer etwas an den Aufrufer zurückgeben
danke jetzt funktioniert es. Ich war allerdings auch nicht untaetig und habe selber noch ein biesschen rumexperimentiert und Folgende Loesung gefunden: In der Methode __init__ das Attriebutt self.ausgabestring einbauen. In der Methode suchen ein else: self.ausgabe() einfuegen und die Methode ausgabe so abaendern: def ausgabe(self,a=None): if not self.app: self.ausgabestring=a else: b=getattr(self.app,"ausgabe") b(a) wenn ich jetzt einen String suche gehe ich Folgendermassen vor node.suchen(string) print node.ausgabestring Das Funktioniert auch warum? So wie Du sagst muss ein rekursiver aufruf immer etwas an den Aufrufer zurueckgeben. Nach meiner Methode wird nur dem Rootknoten etwas zurueckgegeben. Alle Knoten die dazwischen liegen geben den String ja nur weiter ohne was am Attriebutt ausgabestring zu aendern. Mit freundlichen Gruessen Albert _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de