It sounds like you need to debug your program. You do this be either stepping through your program with a debugger, or adding print statements, or walking through it by hand with a piece of paper and a pencil... often a combination of all of the above.
You need to figure out where the program's execution differs from your expectation. Break your program down into smaller steps and test each piece individually. Figure out which part doesn't work, and then figure out why.
Good luck, and welcome to programming.