This is a section of a program I made that keeps track of some money I'm saving. :cool:
When I enter how much I want to add it saves what I enter to a file and updates the current amount I have saved, also in the file.

When I enter 0 I want the program to go back to the main function which asks what I want to do, (Code below else: ) but it does not work. It still writes that I entered 0 into the file. It just seems to skip the code that checks if amount is 0.

I don't see why this doesn't work. I also tried putting it right below 'amount' and the program still skipped it.

def add():
    while True:
            amount = float(raw_input("How much do you want to add? Enter 0 to cancel.\n"))
        except ValueError:
            print "Invalid input."

                if amount == "0":
                print "test: float is 0"

            ####Write to file and return to main####

Because you are checking for a string, when you changed the variable "amount" to a float.

change line 11 to

if amount == 0:

or this

if not amount:
This question has already been answered. Start a new discussion instead.