Puh, vielen Dank! :-)
Das war genau was ich mir gewünscht hatte: Eine Python-Typische, elegante Lösung für mein Problem - wenn auch eine sehr anspruchsvolle.
Warum Python nach dem "Return" nicht einfach in der aufrufenden Schleife weiter macht wo es vor der Iteration stehen blieb habe ich noch ...
Die Suche ergab 5 Treffer
- Mittwoch 31. August 2022, 17:24
- Forum: Allgemeine Fragen
- Thema: Baum rekursiv durchlaufen
- Antworten: 9
- Zugriffe: 1442
- Mittwoch 31. August 2022, 16:31
- Forum: Allgemeine Fragen
- Thema: Baum rekursiv durchlaufen
- Antworten: 9
- Zugriffe: 1442
Re: Baum rekursiv durchlaufen
Meinst du das mit dem Path so?
def nextchild(obj, path):
print("call for ",obj.name)
path.append(obj.name)
if (obj.children):
print(" got child")
for child in obj.children:
print (" name: ",child.name)
if (input()!=""):break
return nextchild(child)
else:
print("PATH: ", path)
path=path ...
def nextchild(obj, path):
print("call for ",obj.name)
path.append(obj.name)
if (obj.children):
print(" got child")
for child in obj.children:
print (" name: ",child.name)
if (input()!=""):break
return nextchild(child)
else:
print("PATH: ", path)
path=path ...
- Mittwoch 31. August 2022, 16:27
- Forum: Allgemeine Fragen
- Thema: Baum rekursiv durchlaufen
- Antworten: 9
- Zugriffe: 1442
Re: Baum rekursiv durchlaufen
Das mit dem Pfad als Parameter ist mir noch nicht ganz klar. Kannst du mir da mit ein zwei Zeilen Code auf die Sprünge helfen?
So wie ich die Ausgabe interpretiere läuft der Algorithmus folgenden Weg:
A --> B --> D
wenn also jeder Aufruf eine Zeile CSV ausgibt hätte ich drei Zeilen:
A
A,B
A,B,D
mir ...
So wie ich die Ausgabe interpretiere läuft der Algorithmus folgenden Weg:
A --> B --> D
wenn also jeder Aufruf eine Zeile CSV ausgibt hätte ich drei Zeilen:
A
A,B
A,B,D
mir ...
- Mittwoch 31. August 2022, 16:13
- Forum: Allgemeine Fragen
- Thema: Baum rekursiv durchlaufen
- Antworten: 9
- Zugriffe: 1442
Re: Baum rekursiv durchlaufen
Alles was es da doch braucht ist ein Argument "path" an nextchild, das per default der leere String ist. Und jeder Aufruf an nextchild fuegt dem einfach den akutellen obj.name hinzu, und reicht den weiter runter. Im Rekursionsbeginn (else-Zweig) kannst du dann den ganzen Pfad ausgeben.
Das mit ...
- Mittwoch 31. August 2022, 15:26
- Forum: Allgemeine Fragen
- Thema: Baum rekursiv durchlaufen
- Antworten: 9
- Zugriffe: 1442
Baum rekursiv durchlaufen
Hallo,
als Python-Neuling versuche ich mich gerade an einer rekursiven Funktion zum Durchlaufen eines Baumes:
Ich habe einen Baum aus Objekten der selben Klasse. Jeder Knoten des Baumes kann keine oder beliebig viele Unterknoten aufweisen.
Diesen Baum möchte ich als CSV exportieren. Dazu muss ich ...
als Python-Neuling versuche ich mich gerade an einer rekursiven Funktion zum Durchlaufen eines Baumes:
Ich habe einen Baum aus Objekten der selben Klasse. Jeder Knoten des Baumes kann keine oder beliebig viele Unterknoten aufweisen.
Diesen Baum möchte ich als CSV exportieren. Dazu muss ich ...
