Thanks, everyone! Using everyone's suggestions and points, the program is working great now. Here's the updated code.
:) import math def main(): #Declare and initialize variables #starting number of organisms organisms = 0 #average daily population increase as % increase = 0.0 #number of days they will multiply days = 0 #population prediction population = 0.0 #Intro print "*********************************************" print "WELCOME TO THE POPULATION GROWTH CALCULATOR" print "*********************************************" print "This program will predict the size of a population of organisms." print print while organisms <=1: organisms=input("Please enter the starting number of organisms: ") if organisms <=1: print "Error. Population must be at least two." while increase <=0: increase=input("Please enter the average daily population increase as a percentage (20% = .20): ") if increase <=0: print "The percent of increase must be positive." while days <=0: days=input("Please enter the number of days that they will multiply: ") if days <=0: print "The number of days must be positive." print " Day Population" print "----------------------------------------------------------" population = organisms for p in range (1,days+1): if( p > 1 ): population = population + ( population * increase ) print "\t",p, [EMAIL PROTECTED] wrote: > On Oct 22, 5:37 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > >> On Oct 22, 5:22 pm, Marc 'BlackJack' Rintsch <[EMAIL PROTECTED]> wrote: >> >> >> >> >> >> >>> On Mon, 22 Oct 2007 18:17:56 -0400, Shawn Minisall wrote: >>> >>>> #Intro >>>> print "*********************************************" >>>> print "WELCOME TO THE POPULATION GROWTH CALCULATOR" >>>> print "*********************************************" >>>> >>>> print "This program will predict the size of a population of >>>> organisms." >>>> print >>>> print >>>> organisms=input("Please enter the starting number of organisms: ") >>>> >>>> increase=input("Please enter the average daily population increase >>>> as a percentage (20% = .20): ") >>>> >>>> days=input("Please enter the number of days that they will multiply: ") >>>> >>>> print " Day Population" >>>> print "----------------------------------------------------------" >>>> >>>> for p in range (days): >>>> >>>> population = organisms * population * increase >>>> >>>> print days, >>>> >>>> print "\t\t\t\t",population >>>> >>>> I'm having problems with my for loop here to calculate estimated >>>> population output to a table. Instead of knowing how much I want to >>>> loop it, the loop index is going to be whatever number of days the user >>>> enters. When I run my program, it asks the 3 questions above but then >>>> just dead stops at a prompt which leads me to believe there's something >>>> wrong with my loop. >>>> >>> It should not run at all as it is indented inconsistently. If that >>> problem is corrected it will stop with a `NameError` because you try to >>> read `population` before anything was assigned to it. >>> >>> Ciao, >>> Marc 'BlackJack' Rintsch >>> >> Also, I would guess that you want to print p, not days >> > > Oh, and your calculation is incorrect. You don't multiply by > organisms in every loop iteration, organisms is the initial > value of population, so you can solve the "Name" error by doing > population = organisms before the for..loop. > > And since you're asking for an increase, you don't multiply by the > percent (as that would decrease the population), but instead by > 1+increase. > > Also, does day==0 represent the first day of increase or the > initial value? One would normally expect day==0 to be the initial > value, but as written, day==0 is the first day of increase. I > would use xrange(1,days+1) instead. > > Lastly, you can't have a fraction of an organism, right? You might > want to print your floating point population rounded to an integer. > > population = organisms > for p in xrange(1,days+1): > population = population * (1 + increase) > print p, > print "\t\t\t\t%0.0f" % (population) > > ## ********************************************* > ## WELCOME TO THE POPULATION GROWTH CALCULATOR > ## ********************************************* > ## This program will predict the size of a population of organisms. > ## > ## > ## Please enter the starting number of organisms: 100 > ## Please enter the average daily population increase as a percentage > (20% = .20): 0.25 > ## Please enter the number of days that they will multiply: 8 > ## Day Population > ## ---------------------------------------------------------- > ## 1 125 > ## 2 156 > ## 3 195 > ## 4 244 > ## 5 305 > ## 6 381 > ## 7 477 > ## 8 596 > > > -- http://mail.python.org/mailman/listinfo/python-list