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

Tell us what’s happening:

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(f"{A},{B},{C}\n")
    
    # move the n - 1 disks that we left on auxiliary onto target

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(f"{A},{B},{C}\n")
        
        # 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)

Need help, please with printing the output, I dont know if I'm missing something
# 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/124.0.0.0 Safari/537.36

Challenge Information:

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

We see you have posted some code but did you have a question?

If you look at the original code it prints the rods variable and it’s not an f-string:

print(rods, '\n')

not

print(f"{rods}\n")

Got it, thanks a lot

1 Like