GoFuckYourself.com - Adult Webmaster Forum

GoFuckYourself.com - Adult Webmaster Forum (https://gfy.com/index.php)
-   Fucking Around & Business Discussion (https://gfy.com/forumdisplay.php?f=26)
-   -   Python code problem (https://gfy.com/showthread.php?t=1016115)

BSleazy 03-28-2011 04:44 PM

Python code problem
 
When running this little program, 0 for a sales amount should always deliver the error message. For some reason after I enter some other incorrect values and then try 0, the program allows it and completes. Must be something with the loop but I can't tell. Do I need to group the 2 "while"s together or what? Help please :)

Code:

#Define the main function
def main():
    # create a variable to control the loop
    keep_going = 'y'
   
    # create a counter for salesperson's
    number_of_salespersons = 0
   
    # process each salesperson's sales
    while keep_going == 'y' or keep_going == 'Y':

        # use a function to process each salesperson
        process_salesperson()

        number_of_salespersons += 1

        # are there more salesperson's?
        keep_going = raw_input('Are there more salespeople? (enter y for yes): ')

    # display the total number of salespeople
    print "There were", number_of_salespersons, "salesperson's."
   
   
   
def process_salesperson():
    # get the salesperson's name
    name = raw_input("What is the salesperson's name? ")

    # input the first sale amount
    print 'Enter', name + "'s first sale amount:",
    first_sale_amount = input()
   
    # validate the sale amount is  > $1 and < $25000
    while first_sale_amount < 1:
        print "ERROR: the sale amount must be between $1 and $25000."
        first_sale_amount = input("Please enter a correct sale amount: ")
       
    while first_sale_amount > 25000:
        print "ERROR: the sale amount must be between $1 and $25000."
        first_sale_amount = input("Please enter a correct sale amount: ")
       
    # intialize average, highest, and lowest sale amount
    total_sales = first_sale_amount
    highest_sale = first_sale_amount
    lowest_sale = first_sale_amount
   
    # get the number of sales for this person
    print 'How many sales did', name, 'have?',
    number_of_sales = input()
   
    for number in range(2, number_of_sales + 1):
        # get the sale amount
        print 'Enter', name + "'s amount for sale #" + str(number) + ':',
        sale_amount = input()
       
        # validate the sale amount is  > $1 and < $25000
        while sale_amount < 1:
            print "ERROR: the sale amount must be between $1 and $25000."
            sale_amount = input("Please enter a correct sale amount: ")
       
        while sale_amount > 25000:
            print "ERROR: the sale amount must be between $1 and $25000."
            sale_amount = input("Please enter a correct sale amount: ")
           
        # accumulate the sales
        total_sales += sale_amount

        # check for highest sale
        if sale_amount > highest_sale:
            highest_sale = sale_amount

        # check for lowest sale
        elif sale_amount < lowest_sale:
            lowest_sale = sale_amount
           
    # compute average sale
    average_sale = float(total_sales) / number_of_sales
   
    # display the average, highest, and lowest sales
    print
    print name + "'s average sale was: \t $%6.2f" % average_sale
    print name + "'s highest sale was: \t $%6.2f" % highest_sale
    print name + "'s lowest sale was: \t $%6.2f" % lowest_sale
    print

# call the main function
main()



All times are GMT -7. The time now is 01:25 AM.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
©2000-, AI Media Network Inc123