一、需求
根据男女的体重、体重、性别,进行BMI指数计算,输出结果:正常指数输出请继续保持,如BMI指数超出正常指数则输出体重的正常范围如(您的正常体重xx公斤~xx公斤)
二、使用步骤
1.代码实现
代码如下(示例):
name = str(input("请输入你的姓名:"))
height = eval(input("请输入你的身高(m):"))
weight = eval(input("请输入你的体重(kg):"))
sex = input("请输入你性别:")
BMI = weight / pow(height, 2) # BIM指数计算公式 BMI=体重(kg)/身高(m)*身高(m),pow(x,y,z)当省略取余数字z时,pow函数返回x的y次方的值。
print("BMI值为:{:.2f}".format(BMI)) # {:.2f} 调用方法保留小数点后两位
mmin = 20.0 * (height ** 2)
mmin = round(mmin, 2)
mmax = 25.0 * (height ** 2)
mmax = round(mmax ,2)
wmin = 18.5 * (height ** 2)
wmin = round(wmin , 2)
wmax = 24.0 * (height ** 2)
wmax = round(wmax , 2)
if sex == '男':
print("尊敬的",name,"先生,你的BMI指数为",round(BMI,2))
else:
if BMI < 20.0:
print("您的正常体重",mmin,"公斤",mmax,"公斤,现在你体重偏轻,加强饮食")
else:
if 20.0 < BMI < 25:
print("您体重正常,请继续保持")
else:
if 25 < BMI < 28:
print("您的正常体重",mmin,"公斤",mmax,"公斤,现在你体重偏重,加强运动")
else:
if 28 < BMI < 32:
print("您的正常体重",mmin,"公斤",mmax,"公斤,现在你体重肥胖,加强运动")
else:
if BMI > 32:
print("您的正常体重",mmin,"公斤",mmax,"公斤,现在你体重严重肥胖,加强运动")
if sex == '女':
print("尊敬的",name,"女士,你的BMI指数为",round(BMI,2))
else:
if BMI < 18.5:
print("您的正常体重",wmin,"公斤",wmax,"公斤,现在你体重偏轻,加强饮食")
else:
if 18.5 < BMI < 24:
print("您体重正常,请继续保持")
else:
if 24 < BMI < 27:
print("您的正常体重",wmin,"公斤",wmax,"公斤,现在你体重偏重,加强运动")
else:
if 27 < BMI < 32:
print("您的正常体重",wmin,"公斤",wmax,"公斤,现在你体重肥胖,加强运动")
else:
if BMI > 32:
print("您的正常体重",wmin,"公斤",wmax,"公斤,现在你体重严重肥胖,加强运动")
总结
首先,我们使用input()函数提示用户输入身高和体重数据,这里使用了eval() ,eval() 函数用来执行一个字符串表达式,并返回表达式的值。然后计算男女的BMI正常指数范围,使用round() 方法将返回的浮点数x的四舍五入值。。
然后,我们使用BMI的计算公式计算BMI值,并将结果保存在名为BMI的变量中。计算BMI时,需要注意身高的单位应该是米,体重的单位应该是公斤。在计算身高的平方时,这里的身高使用了pow() 函数方法能够更好的返回 xy(x 的 y 次方) 的值(身高的二次方)。
接下来,我们使用字符串格式化方式输出BMI的值。{:.2f}表示保留两位小数的浮点数类型。这里需要注意,最后,我们使用条件语句中的if-else语句判断男女BMI的范围,输出对应的结果。