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

Tell us what’s happening:

i have removed the last element from the source using pop() function and append() it to the target but the code doesnt pass

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, auxiliary, target)
        target.append(source.pop())
        # display starting configuration
        print(rods, '\n')
              

# 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/123.0.0.0 Safari/537.36 OPR/109.0.0.0

Challenge Information:

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

You should remove the last element from the rods[source] list and append it to the rods[target] list before the print call.

Are you sure you did this?

1 Like