On Tue, 23 Oct 2007 11:56:33 -0400, Shawn Minisall wrote: > I just wrote a program to let the user input a series of whole numbers > and tell them which is least and which is greatest based off of a menu. > However, the menu isn't kicking in after they pick a number. I included > a while statement for a loop just for the menu and compared it to my > other programs that have a similar setup and are working, but I'm > stumped. Here's the program... > > def main(): > > #define and initialize variables > #choice as int > choice = 0 > #number as int > number = 0 > > #intro > print "WELCOME TO THE GREATEST AND LEAST NUMBER PROGRAM!" > print > > #Menu loop > while choice != 2: > #display menu > print "Please choose from the following menu: " > print "1. Enter a number" > print "2. Exit" > print > > #prompt user for their menu choice > choice = input("Enter your choice here: ") > > #if statements to determine which choice > if choice == 1: > nums = [] > while number >=0: > nums.append(number) > number = input("Please enter a number.")
Maybe you want to exchange those two last lines!? > elif choice == 2: > print "Have a great day!" > > if len(nums) > 0: > print "The smallest number that you entered was:",min(nums) > print "The largest number that you entered was:",max(nums) > Also, if they quit the program with choice #2 and entered numbers, it > should display the greatest and least of them. If they just started and > didn't enter anything and want to quit, I get an error message saying > UnboundLocalError: local variable 'nums' referenced before assignment. > Isn't the if statement supposed to keep python from going there since if > they didn't enter any input, the length of the list should just be zero. Which list? If the branch for ``choice == 1`` isn't executed then the list will never be created an the name `nums` doesn't exist. Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list