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

Tell us what’s happening:

I’ve already read the instructions several times and looked at other posts asking for help and even looked into future questions to see if they figured out how to get through this but no matter what i do it always gives me an error.
What am I doing wrong???

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

# User Editable Region

        if remainder == 1:
            print(f'Move {i + 1} allowed between {source} and {target}')
            forward = False
        if not rods[target]:
            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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.98

Challenge Information:

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

The if not statement should be nested/indented one more level.

Also you are not using an assignment operator here forward == True.

thanks it finally made sense​:pray::pray:

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