Re: while statements

2007-10-16 Thread danfolkes
On Oct 16, 9:28 am, Shawn Minisall [EMAIL PROTECTED] wrote:
 I just learned about while statements and get why you place them around
 inputs for validation, but I'm a little lost on exactly where to place
 it with what condition in this program where the number of fat grams
 exceeds the total number of calories so that it loops back and asks you
 the two questions again instead of just saying The calories or fat grams
 were incorrectly entered.  Any idea's?

 thx

 while cal =0:
 #Prompt for calories
 cal = input(Please enter the number of calories in your food: )
 if cal =0:
 print Error.  The number of calories must be positive.

 #Prompt for fat
 fat = input(Please enter the number of fat grams in your food: )
 if fat =0:
 print Error.  The number of fat grams must be positive.

 #Calculate calories from fat
 calfat = float(fat) * 9

 #Calculate number of calories from fat
 caldel = calfat / cal

 #change calcent decimal to percentage
 calcent = caldel * 100

 #evaluate input
 if calfat  cal:
 print The calories or fat grams were incorrectly entered.

 elif calcent  0 and calfat  cal:

 if caldel = .3:
 print Your food is low in fat.
 elif caldel = .3:
 print Your food is high in fat.

 #Display percentage of calories from fat
 print The percentage of calories from fat in your food is %,
 calcent

Instead of: if(cal=0)

you could do :
cal=0
while cal=0:
cal = int(raw_input(Please enter the number of calories in your
food: ))

that would make sure that your input is  0

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: while statements

2007-10-16 Thread Francesco Guerrieri
On 10/16/07, danfolkes [EMAIL PROTECTED] wrote:

 Instead of: if(cal=0)

 you could do :
 cal=0
 while cal=0:
 cal = int(raw_input(Please enter the number of calories in your
 food: ))

 that would make sure that your input is  0

Calories could be non integer :)

francesco
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: while statements

2007-10-16 Thread kyosohma
On Oct 16, 8:28 am, Shawn Minisall [EMAIL PROTECTED] wrote:
 I just learned about while statements and get why you place them around
 inputs for validation, but I'm a little lost on exactly where to place
 it with what condition in this program where the number of fat grams
 exceeds the total number of calories so that it loops back and asks you
 the two questions again instead of just saying The calories or fat grams
 were incorrectly entered.  Any idea's?

 thx

 while cal =0:
 #Prompt for calories
 cal = input(Please enter the number of calories in your food: )
 if cal =0:
 print Error.  The number of calories must be positive.

 #Prompt for fat
 fat = input(Please enter the number of fat grams in your food: )
 if fat =0:
 print Error.  The number of fat grams must be positive.

 #Calculate calories from fat
 calfat = float(fat) * 9

 #Calculate number of calories from fat
 caldel = calfat / cal

 #change calcent decimal to percentage
 calcent = caldel * 100

 #evaluate input
 if calfat  cal:
 print The calories or fat grams were incorrectly entered.

 elif calcent  0 and calfat  cal:

 if caldel = .3:
 print Your food is low in fat.
 elif caldel = .3:
 print Your food is high in fat.

 #Display percentage of calories from fat
 print The percentage of calories from fat in your food is %,
 calcent

I would think using 2 while loops would be easiest.

code
# untested

cal=0
calfat = 1
while calfat  cal:
while cal=0:
#Prompt for calories
cal = int(raw_input(Please enter the number of calories
in your food: ))
if cal =0:
 print Error.  The number of calories must be
positive.
fat=0
while fat =0:
#Prompt for fat
fat = int(raw_input(Please enter the number of fat grams in
your food: ))
if fat =0:
print Error.  The number of fat grams must be positive.
/code

I'll leave the rest up to you.

Mike

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: while statements

2007-10-16 Thread martyw
Shawn Minisall wrote:
 I just learned about while statements and get why you place them around 
 inputs for validation, but I'm a little lost on exactly where to place 
 it with what condition in this program where the number of fat grams 
 exceeds the total number of calories so that it loops back and asks you 
 the two questions again instead of just saying The calories or fat grams 
 were incorrectly entered.  Any idea's?
 
 thx
 
 while cal =0:
#Prompt for calories
cal = input(Please enter the number of calories in your food: )
if cal =0:
print Error.  The number of calories must be positive.
 
#Prompt for fat
fat = input(Please enter the number of fat grams in your food: )
if fat =0:
print Error.  The number of fat grams must be positive.
 
 
#Calculate calories from fat
calfat = float(fat) * 9
   #Calculate number of calories from fat
caldel = calfat / cal
 
#change calcent decimal to percentage
calcent = caldel * 100
 
#evaluate input
if calfat  cal:
print The calories or fat grams were incorrectly entered.
 
elif calcent  0 and calfat  cal:
   if caldel = .3:
print Your food is low in fat.
elif caldel = .3:
print Your food is high in fat.
 
#Display percentage of calories from fat
print The percentage of calories from fat in your food is %, 
 calcent
 
you could change to something like this


while True: # don test in the loop
#Prompt for calories
 cal = input(Please enter the number of calories in your food: )
 if cal =0:
 print Error.  The number of calories must be positive.
 continue ### here you don need to go any further in this loop

#Prompt for fat
 fat = input(Please enter the number of fat grams in your food: )
 if fat =0:
 print Error.  The number of fat grams must be positive.
 continue ### here you don need to go any further in this loop


#Calculate calories from fat
 calfat = float(fat) * 9
   #Calculate number of calories from fat
 caldel = calfat / cal

#change calcent decimal to percentage
 calcent = caldel * 100

#evaluate input
 if calfat  cal:
print The calories or fat grams were incorrectly entered.

 #elif calcent  0 and calfat  cal:
 else: # calcent will be bigger than zero now by construction,
   # and I guess you dont want to test for equality of
   # calfat and cal
 if caldel = .3:
print Your food is low in fat.
 elif caldel = .3:
print Your food is high in fat.

#Display percentage of calories from fat
 print The percentage of calories from fat in your food \
   is %f%% % calcent
 break # we got a satisfactory result, leave this loop
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: while statements

2007-10-16 Thread Zentrader
O  while cal =0:
 #Prompt for calories
 cal = input(Please enter the number of calories in your food: )
 if cal =0:
 print Error.  The number of calories must be positive.

 #Prompt for fat
 fat = input(Please enter the number of fat grams in your food: )
 if fat =0:
 print Error.  The number of fat grams must be positive.

You can also use a function
def get_value( lit ):
   ret_val = 0
   while ret_val = 0:
  ret_val  = input(Please enter the number of %s in your food: 
% (lit))
  if ret_val =0:
 print Error.  The number of %s must be positive. % (lit)
   return ret_val
#
cal = get_value( calories )
fat = get_value( fat grams )
##
## Calculate values, etc.

-- 
http://mail.python.org/mailman/listinfo/python-list