r/learnpython 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

6 comments sorted by

View all comments

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_