greatest and least of these...

Marc 'BlackJack' Rintsch bj_666 at gmx.net
Tue Oct 23 12:48:24 EDT 2007


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



More information about the Python-list mailing list