r/learnpython • u/Key_Cloud_7002 • 13h ago
recursion problem
I'm trying to teach myself python using John Zelles book. On the 13th chapter it gives this example of recursion I'm trying to understand:
def moveTower(n, source, dest, temp):
if n ==1:
print("move disk from , " , source , "to", dest)
else:
moveTower(n-1, source, temp, dest)
moveTower(1, source, dest,temp)
moveTower(n-1,temp,dest,source)
def hanoi(n):
moveTower(n , "a", "c","b")
hanoi(3)
The code is first assiging the variables A to source then C to dest then b to temp but do the lines moveTower(n-1, source, temp, dest) and moveTower(n-1,temp,dest,source) work? Would it be moveTower(3-1, a,b,c)? How exactly are they outputting a to c then a to b then c to b and b to a , etc...
1
Upvotes
1
u/jmooremcc 12h ago
Your IDE should have a debugger that will allow you to set breakpoints and single step through your code.
https://youtu.be/ChuU3NlYRLQ?si=zko-82sTKHo-DJh_