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

Tell us what’s happening:

My code is correct, but it’s still showing the error for some reason and I’m not understanding what to do?

Someone please help.

You should modify your print() call to print A, B, C, instead of the rods
object. Keep the newline character in the print() call.

Your code so far


# User Editable Region

NUMBER_OF_DISKS = 4
A = list(range(NUMBER_OF_DISKS, 0, -1)),
B = []
C = []

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
        target.append(source.pop())
        
        # display our progress
        print('A:',A,'B:',B,'C:',C)
        
        # move the n - 1 disks that we left on auxiliary onto target
        move(n - 1,  auxiliary, source, target)
              
# initiate call from source A to target C with auxiliary B
move(NUMBER_OF_DISKS, 'A', 'B', 'C')

# User Editable Region

Your browser information:

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

Challenge Information:

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

print only A B and C, and also this

1 Like

Hi @NJ0093 and welcome to our community!

You have lost the new line character from the end of this print call:

Also, you need only print the variables. You do not need to include ‘A:’ etc.

Yup, got it. Thank you.

Got it bud, thank you

1 Like

For anyone wondering about the printcall, it should be something like this

print(A,B,C,‘\n’)

Happy Coding!! :wink: