rekursiver Aufruf innerhalb einer Klasse
Verfasst: Dienstag 18. April 2017, 08:55
Hallo liebes Forum,
ich möchte gerne eine Baumstruktur mittels Python implementieren und alle Funktionen in einer Klasse bündeln.
Nun gibt es aber scheinbar ein Problem mit der Rekursivität der Struktur. Die Initialisierung ist geläufig.
Jetzt soll die Funktion gesamt() Die Summe der einzelnen Blätter errechnen.
Fehlermeldung: AttributeError: 'NoneType' object has no attribute 'gesamt'
Ich scheine an irgendeiner Stelle einen Denkfehler zu haben. Kann mir jemand weiterhelfen?
Beste Grüße Sanne
ich möchte gerne eine Baumstruktur mittels Python implementieren und alle Funktionen in einer Klasse bündeln.
Nun gibt es aber scheinbar ein Problem mit der Rekursivität der Struktur. Die Initialisierung ist geläufig.
Jetzt soll die Funktion gesamt() Die Summe der einzelnen Blätter errechnen.
Code: Alles auswählen
class Baum(object):
""" Klasse für eine einfache Baumstruktur """
def __init__(self, value, left = None, right = None):
""" Neuen Knoten des Baumes initialisieren """
self.left = left
self.right = right
self.value = value
def gesamt(self):
if self == None: return 0
return self.left.gesamt() + self.right.gesamt() + self.value
if __name__ == "__main__":
baum = Baum(1, Baum(2), Baum(3))
print baum.gesamt()
Ich scheine an irgendeiner Stelle einen Denkfehler zu haben. Kann mir jemand weiterhelfen?
Beste Grüße Sanne