Re: while statements
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
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
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
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
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