Rekursive Funktion verstehen
Verfasst: Freitag 9. Juli 2021, 21:08
Hallo zusammen!
Könnte mir jemand helfen, folgende Funktion zu verstehen? Irgendwie hakts da gerade gewaltig bei mir.
Bei den ersten Aufrufen komme ich noch mit:
- 2, A, C, B
- 1, A, B, C
"Move from A to C"
Nun aber verliere ich den Faden...
- 2, A, C, B ???
...
Ich habe mir das ganze schon im Debugger angesehen, aber komme einfach nicht dahinter.
Endgültige Ausgabe ist:
Könnte mir jemand helfen, folgende Funktion zu verstehen? Irgendwie hakts da gerade gewaltig bei mir.
Code: Alles auswählen
def towers_of_hanoi(n_rings, from_pos, helper_space, to_pos):
if n_rings == 1:
print(f"Move from {from_pos} to {to_pos}")
pass
else:
towers_of_hanoi(n_rings - 1, from_pos, to_pos, helper_space)
print(f"Move from {from_pos} to {to_pos}")
towers_of_hanoi(n_rings - 1, helper_space, from_pos, to_pos)
towers_of_hanoi(3, "A", "B", "C")
- 2, A, C, B
- 1, A, B, C
"Move from A to C"
Nun aber verliere ich den Faden...
- 2, A, C, B ???
...
Ich habe mir das ganze schon im Debugger angesehen, aber komme einfach nicht dahinter.

Endgültige Ausgabe ist:
Code: Alles auswählen
Move from A to C
Move from A to B
Move from C to B
Move from A to C
Move from B to A
Move from B to C
Move from A to C