Learn Recursion by Solving the Tower of Hanoi Puzzle - Step 50

Tell us what’s happening:

What am I doing wrong here? I the arguments are in correct order and the function is also called at the end of the if statement

Your code so far

NUMBER_OF_DISKS = 4
rods = {
    'A': list(range(NUMBER_OF_DISKS, 0, -1)),
    'B': [],
    'C': []
}


# User Editable Region

def move(n, source, auxiliary, target):
    if n > 0:
        # move n - 1 disks from source to auxiliary, so they are out of the way
        move(n - 1, source, target, auxiliary)
        
        # move the nth disk from source to target
        rods[target].append(rods[source].pop())
        
        # display our progress
        print(rods, '\n')
    move(n-1, source,target,auxiliary)
              

# User Editable Region

# initiate call from source A to target C with auxiliary B
move(NUMBER_OF_DISKS, 'A', 'B', 'C')

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36

Challenge Information:

Learn Recursion by Solving the Tower of Hanoi Puzzle - Step 50

I have been stuck on this for a week now and I don’t still see what I am doing wrong

You should recursively call the function inside the if. Also, the arguments should be in a different order.

Thanks. It worked. Misunderstanding from my end