首页 > 解决方案 > 想在给出答案后终止程序

问题描述

我正在研究这个 BMI 计算器代码,但是当我运行程序并输入所有值时,它会给出答案,但会不断重复。我希望程序在给出答案后终止。 我也希望答案是小数。

这是代码:-

import math
print "*After Entering Every value Hit Enter"
time.sleep(2)

#intro Starts
name = raw_input("Please Enter Your Name : ") #enter your name
print""
print "Hello", name
time.sleep(0.5)
print""
print "It Feels Like Your Are Really Concerned About Your Health"
time.sleep(3)
print "So Lets Start Calculating Your BMI"
print "" #intro ends

#option for gender
gender = raw_input('Are you Male Or female ? ')
print "OK, Thats great"
print ""
#the bmi Calculation
kg = float(input('Enter Your Weight(in Kg.) : '))
cm = float(input('Enter Your height(in cm)  : '))
print "" 
meter = cm * math.pow(10, -2)
bmi = float(kg//(meter**2))

#the Conditions start
while gender == "male":
     if bmi < 18.5: #if overweight
        print "It seems like your are Underweight"
        print "Your BMI is", bmi
        print ("")
        print "I prefer you To Increase Your diet."
    #if normal
    elif bmi >= 18.5 and bmi <= 25:
        print "Your are Absolutely fine"
        print "Your BMI is", bmi
        print "Be on the same track"
    #if overweight
    elif bmi > 25 and bmi <=30:
        print "Your are overweight "
        print "Your BMI is", bmi
        print "I prefer you to go for daily morning Jog."
    #if obese
    elif bmi > 30:
        print "Your are under obese category"
        print "Your BMI is", bmi
        print "I prefer you to Change your diet"
while gender == "female" or "Female" :
   print "sorry this program is under development"
print ("") 

如果有人帮助我,我将不胜感激。我是初学者

标签: python-2.7

解决方案


所以你应该尝试考虑if而不是while如果你不想重复这个过程

import math
import time
print "*After Entering Every value Hit Enter"
time.sleep(2)

#intro Starts
name = raw_input("Please Enter Your Name : ") #enter your name
print""
print "Hello", name
time.sleep(0.5)
print""
print "It Feels Like Your Are Really Concerned About Your Health"
time.sleep(3)
print "So Lets Start Calculating Your BMI"
print "" #intro ends

#option for gender
gender = raw_input('Are you Male Or female ? ')
print "OK, Thats great"
print ""
#the bmi Calculation
kg = float(input('Enter Your Weight(in Kg.) : '))
cm = float(input('Enter Your height(in cm)  : '))
print "" 
meter = cm * math.pow(10, -2)
bmi = float(kg//(meter**2))

#the Conditions start
if gender == "male":
    if bmi < 18.5: #if overweight
        print "It seems like your are Underweight"
        print "Your BMI is", bmi
        print ("")
        print "I prefer you To Increase Your diet."

    elif bmi >= 18.5 and bmi <= 25:
        print "Your are Absolutely fine"
        print "Your BMI is", bmi
        print "Be on the same track"
    #if overweight
    elif bmi > 25 and bmi <=30:
        print "Your are overweight "
        print "Your BMI is", bmi
        print "I prefer you to go for daily morning Jog."
    #if obese
    elif bmi > 30:
        print "Your are under obese category"
        print "Your BMI is", bmi
        print "I prefer you to Change your diet"
if gender in ("female" ,"Female" ):  #gender == "female" or "Female"  is always true
print "sorry this program is under development"
print ("") 

推荐阅读