This is a basic scope problem. Nonlocal variables by default have read-only access in functions, assignment to a variable with the same name as a variable outside of the function will result in a new, empty, local variable being created.
global Money line at the top of each function that is supposed to manipulate the data in the nonlocal Money variable would be a possible workaround. Arguably cleaner would be to pass the variable as a parameter to the function.
Also, while your sequences of
ifs with mutually exclusive conditions are not logically faulty per se, they are not clean code as they result in a lot of unnecessary checks being made. Try to use
elif in this case.
Also, in future, if you have the audacity to plainly ask other people to “fix” your code for you, it would be nice to at least give a short explanation of what you would expect it to do if it was working.
solved I have an error in my program that python detected. Plus im sure there are more errors. Please fix ^-^