python-2.7 - 想在给出答案后终止程序
问题描述
我正在研究这个 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 ("")
如果有人帮助我,我将不胜感激。我是初学者
解决方案
所以你应该尝试考虑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 ("")
推荐阅读
- unit-testing - Angular 11 单元测试代码覆盖率现已突破
- python - 如何从python中的文件文件夹中获取列表列表?
- leaflet - 手绘传单(手机)
- visual-studio-code - 如何将 bundle.js 或其他构建文件排除在 Visual Studio 代码搜索结果之外?
- python - 模块命名重叠
- javascript - 如何在 javascript 中访问对象中的值?
- java - 如何在客户端填写列表作为对象字段?
- java - 自定义 Spring Boot HTTP TRACE disabled 错误响应
- javascript - 在按钮中单击时功能未运行
- javascript - php脚本显示表格,但不显示