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

Tell us what’s happening:

Please tell me what is wrong with my code

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:'+ str(source) + ', B:' + str(auxiliary) + ', C:' + str(target) + '}\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)

# 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/121.0.0.0 Safari/537.36

Challenge Information:

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

You changed this too much
it was

print(rods, '\n')

you need to have it similar

print(f'A:{source}, B:{auxiliary}, C:{target}\n')

like this

what’s the output looks like

no do not create a string, just print A, B, C

print(f'{source}, {auxiliary}, {target}\n')

delete the string, and just print put A followed by a comma, followed by B followed by a comma followed by C

1 Like

thank you i’m not good in english

You are lucky then, freeCodeCamp is also working on an English for developers course! https://www.freecodecamp.org/learn/a2-english-for-developers/

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.