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

Tell us what’s happening:

I don’t understand why my code is not passing.
I’ve followed the hints and instructions, I’ve also checked the help posts about this step already in the forum.
Please, help!

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': []
}

def move(n, source, auxiliary, target):
    # display starting configuration
    print(rods)
    for i in range(number_of_moves):
        remainder = (i + 1) % 3
        if remainder == 1:
            print(f'Move {i + 1} allowed between {source} and {target}')
            forward = False

# User Editable Region

            if not rods[target]:
                forward = True
            elif not rods[source] and rods[source][-1] < rods[target][-1]:
                forward = True

# User Editable Region

        elif remainder == 2:
            print(f'Move {i + 1} allowed between {source} and {auxiliary}')
        elif remainder == 0:
            print(f'Move {i + 1} allowed between {auxiliary} and {target}')

# 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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Safari/605.1.15

Challenge Information:

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

this is true if rods[source] is empty, remove the “not”

Oh, do I feel stupid. Thank you so much! It’s working now