"David" <da...@abbottdavid.com> wrote

OK, this is what I came up with, how else could I do it so as not to use sys.exit() ?

You don;t need the exit(), The program  will just drop off the end
silently without it. Thre are several other redundant bits you could
just miss out:

class FertRate:
    def __init__(self, rate, nitrogen, acre, bag):
        self.area = 43.560
        self.app = rate / (nitrogen / 100.00)
        self.acre = acre
        self.bag = bag

    def result(self):
        result = self.app * self.area * self.acre / self.bag
        return result

      leave out the variable and just return the calculated value:
           return self.app * self.area * self.acre / self.bag

def main():
    while True:
        try:
            frate = FertRate( *get_inputs() )
            result = frate.result()
            print 'You should apply %0.2f bags.' % result

And here miss the variable and use the functin in the format string:
             print 'You should apply %0.2f bags.' % frate.result()

            exit()

And just delete this.

        except TypeError, UnboundLocalError:
            pass

def get_inputs():
    try:
        print 'Rate: Pounds nitrogen per 1000 (square feet)'
        rate = float(raw_input('Enter Rate i.e., (0.5): '))
        print "Nitrogen: The first number of the fertilizer's analysis"
nitrogen = float(raw_input('Enter Nitrogen From Bag i.e., (14): ')) acre = int(raw_input("Enter Total Acre's To Be Treated i.e, (3): "))
        bag = int(raw_input('Enter Bag Weight (lb): i.e., (50) '))
        return rate, nitrogen, acre, bag
    except ValueError:
        print 'Invalid input!'
        print 'You must enter a number!'

You could put the whole thing in a while loop so the error gets
printed but the user has a chance to corect it.

def get_inputs():
   while True:
         try:
             # blah blah
             return .....      # breaks from the while loop
         except ValueError, TypeError:
             print blah

HTH,


--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to