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

Tell us what’s happening:

I cannot get step 16 to pass! Ive tried numerous times with various approaches , all fail! im starting to think theres a bug , idk.

NUMBER_OF_DISKS = 3
number_of_moves = 2**NUMBER_OF_DISKS - 1

rods = {
‘A’: list(range(NUMBER_OF_DISKS, 0, -1)),
‘B’: ,
‘C’:
}

def move(n, source, auxiliary, target):
print(rods)

for i in range(1, number_of_moves + 1):

    print(i)

Your code so far

NUMBER_OF_DISKS = 3
number_of_moves = 2**NUMBER_OF_DISKS - 1

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

# User Editable Region


def move(n, source, auxiliary, target):
    # Display initial configuration of rods
    print(rods)
    
    # Iterate through the number of moves using the range() function
    for move_number in range(number_of_moves):
        # Print the current move number
        print(move_number + 1)

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

Challenge Information:

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

Remove your comments. It’s a good idea but unfortunately I think they are interfering with the tests.

Try to print move_number without adding 1. I’m not sure the goal here yet, or what the desired range is exactly. If it wants 1-7 or 0-6. Maybe that step is next, or it’s compensated for in a different way, so try both.

1 Like

I ran into the same issue. 0-6 is the output that got it to pass for me.

1 Like