Help with logical path

Hi in logical path once i got the code right and i ran the code, (i did not “Done” it) and it it worked so i pressed done without changing a single line and it is WRONG. any help my code is down below.

# Get two secret true/false values from the wizard.
# Check the guide for notes on how to write logical expressions.
hero.moveXY(14, 24)
secretA = hero.findNearestFriend().getSecretA()
secretB = hero.findNearestFriend().getSecretB()

# If BOTH secretA and secretB are true, take the high path; otherwise, take the low path.
secretC = secretA and secretB
if secretC:
    hero.moveXY(20, 33)
    hero.moveXY(20, 15)
hero.moveXY(26, 24)

# If EITHER secretA or secretB is true, take the high path.
secretD = secretA and secretB
if secretD:
    hero.moveXY(32, 33)
    hero.moveXY(32, 15)
hero.moveXY(38, 24)
# If secretB is NOT true, take the high path.
if secretD and not secretB:
    hero.moveXY(44, 33)
    hero.moveXY(44, 15)
    hero.moveXY(50, 24)

can anyone plz explain as i am now really confused?!?!?!?!?!?!?!?!?!?

sorry i changed code here it is now. i will post the new code i have changed here every time i work something out