Jython 如何将BMI计算添加到以下代码中?
下面是我的代码:Jython 如何将BMI计算添加到以下代码中?,jython,jes,Jython,Jes,下面是我的代码: def inForm(): name = requestString("What is your name?") age = requestInteger("What is your age?") height = requestInteger("What is your height?") weight = requestInteger("What is your weight?") print "Hello", name, "!", "You are",
def inForm():
name = requestString("What is your name?")
age = requestInteger("What is your age?")
height = requestInteger("What is your height?")
weight = requestInteger("What is your weight?")
print "Hello", name, "!", "You are", age,"years old!", "Your height
is", height, "cm", "and you weigh", weight, "kg"
我需要将BMI计算添加到此代码中,这是我的公式,BMI=体重/(身高*身高)
根据BMI显示以下消息:
你体重严重不足15磅
你的体重严重不足,从15.0到16.0
你的体重从16.0减到18.5
你的体重在18.5到25之间是正常的
你从25岁到30岁超重
你在30到35岁之间属于中度肥胖
你在35岁到40岁之间严重肥胖
40岁以上的你非常肥胖
我似乎不明白,我该怎么办
提前谢谢 计算体重指数时,通常使用身高单位米(而不是厘米)。这意味着您需要对公式中从cm到m的转换进行两次调整:
bmi = 10000 * weight / (height*height)
print bmi
可以对文本部分使用if-elif-…-else语句:
if bmi < 15:
message = "very severely underweight"
elif bmi <= 16:
message = "severely underweight"
# Add more elif parts here...
else:
message = "very severely obese"
print "You are", message
如果体重指数<15:
message=“体重严重不足”
如果bmi不是从cm转换为m,为什么不使用requestNumber表示身高和体重。此外,打印语句可以更短,如我在下面演示的那样。此外,我使用%s%d%r,这称为
def通知():
name=requestString(“请输入您的姓名”)
年龄=requestInteger(“你多大了?”)
高度=requestNumber(“你有多高?(米)”)
重量=请求数量(“你有多重?(千克)”)
体重指数=体重/(身高*身高)
打印“您好,%s!我看到您已%r岁,%r米高,体重%r千克,您的BMI为%d.”%(姓名、年龄、身高、体重、BMI)
n=体重指数
如果你不使用height**2
的具体原因是什么,我使用了OP中的公式,但你完全正确:height*height
可以替换为height**2
。
def inForm():
name = requestString("Please enter your name")
age = requestInteger("How old are you?")
height = requestNumber("How tall are you? (Meters)")
weight = requestNumber("How heavy are you? (Kilograms)")
bmi = weight/(height*height)
print "Hello, %s! I see that you are %r years old, %r meters tall, weight %r kgs and your BMI is %d." % (name, age, height, weight, bmi)
n = bmi
if n<15:
print "You are very severely underweight"
elif 15<=n<=16:
print "You are severely underweight"
elif 16<n<=18.5:
print "You are underweight"
elif 18.5<n<=25:
print "Your weight is normal"
elif 25<n<=30:
print "You are overweight"
elif 30<n<=35:
print "You are moderately obese"
elif 35<n<=40:
print "You are severely obese"
elif n>40:
print "You are very severely obese"