How do I get a function inside of a while loop in a function to work properly?
Question: I have looked and looked for an answer, but I am new to python and the answers
I find seem to be over my head or not quite what I need. I am trying to take
my code and turn it into multiple functions to complete the simple task of
receiving some grades from the user and displaying the input back to the user
as they want it. Hopefully this will be more clear when you see my code.

    
    
    import sys
    
    gradeList = []
    
    def validate_input():
        try:
            gradeList.append(int(grades))
        except:
            return False
        else:
            return True
    
    def average(count, total):
        ave = total / count
        return ave
    
    def exit(gradeList):
        if gradeList == []:
            print "You must enter at least one grade for this program to work. Good Bye."
            sys.exit()
    
    #def get_info():
    while True:
        grades = raw_input("Please input your grades.(or Enter once you have entered all of your grades): ")
        if not grades:
            break
        elif validate_input() == True:
            continue
        else:
            print "Please enter a number."
            continue
    
    def give_answers(gradeList):    
        while True:
            print "\n",
            print "Please select what you would like to do with your grades."
            print "Press 1 for the Highest grade."
            print "Press 2 for the Lowest grade."
            print "Press 3 for the Average of the grades you entered."
            print "\n",
            print "Or you can press 'q' to quit."
            choice = raw_input("> ")
            if choice == 'q':
                break
            elif choice == '1':
                print "\n",
                print "The highest grade that you entered was %d.\n" % highest,
            elif choice == '2':
                print "\n",
                print "The lowest grade that you entered was %d.\n" % lowest,
            elif choice == '3':
                print "\n",
                print "Your average grade was %d.\n" % average,
            else:
                print "Please enter 1, 2, 3 or 'q'."
    
    
    #get_info()
    exit(gradeList)
    
    gradeList.sort()
    highest = gradeList[-1]
    lowest = gradeList[0]
    count = len(gradeList)
    total = sum(gradeList)
    average =  average( count, total)
    
    give_answers(gradeList)
    

Everything works correctly as I have pasted the code, but when I try to define
`get_info` the nested `validate_input()` function stops working. It no longer
populates the list so `exit()` catches and ends the program. The loop seems to
just pass over the `validate_input()`function altogether because the else
statement trips after each time through. My question is how do I get the
`validate_input()` function to work properly while continuing to accept input
until the user presses enter?


Answer: Pass grade to your function validate_input so it could add the grade to list
like:

    
    
    def validate_input(grades):
    

