求一道Python题,是关于定义函数和身体指数的,谢谢各位大神啦!!!
2.身体质量指数(BMI)是以体重衡量健康程度的一种指数,其定义如下:BMI=体重(kg)/身高2(m2)。下表所示为我国卫生部根据中国人体质给出的国内BMI参考值。(1...
2.身体质量指数(BMI)是以体重衡量健康程度的一种指数,其定义如下:
BMI = 体重(kg)/ 身高2(m2)。下表所示为我国卫生部根据中国人体质给出的国内 BMI 参考值。
(1)定义函数calBMI(height,weight),根据人的身高和体重,计算身体质量指数BMI,同时输出BMI分类。(该函数返回BMI值和BMI分类两个值)。
(2)编写一个测试程序,提示用户输入身高和体重,调用函数,输出其身体质量分类。
结果参考
请输入你的身高(米)和体重(公斤)【逗号隔开】:1.60,54
李子健的测算结果为:
BMI:21.09
正常 展开
BMI = 体重(kg)/ 身高2(m2)。下表所示为我国卫生部根据中国人体质给出的国内 BMI 参考值。
(1)定义函数calBMI(height,weight),根据人的身高和体重,计算身体质量指数BMI,同时输出BMI分类。(该函数返回BMI值和BMI分类两个值)。
(2)编写一个测试程序,提示用户输入身高和体重,调用函数,输出其身体质量分类。
结果参考
请输入你的身高(米)和体重(公斤)【逗号隔开】:1.60,54
李子健的测算结果为:
BMI:21.09
正常 展开
2个回答
展开全部
按照题目要求编写的Python程序如下
def calBMI(height,weight):
BMI=weight/(height*height)
if BMI<18.5:
return [BMI,"过轻"]
elif BMI<24:
return [BMI,"正常"]
elif BMI<28:
return [BMI,"过重"]
else:
return [BMI,"肥胖"]
import re
s=input("请输入你的身高(米)和体重(公斤)【逗号隔开】:")
s1=re.split(r'[,,]',s)
height=float(s1[0])
weight=float(s1[1])
name="李子健"
bmi=calBMI(height,weight)
print("{}的测算结果为:".format(name))
print("BMI:%.2f"%bmi[0])
print(bmi[1])
源代码(注意源代码的缩进)
更多追问追答
追问
非常感谢您的解答!可是最后他显示这个错误。print("BMI:%.2f"%bmi[0])
TypeError: must be real number, not str
然后显示不出结果,您能再指点一下吗?我将不胜感激!
展开全部
#BMI指数体重除以身高的平方,正常范围为18.5-23.9
def calBMI(height,weight):
h=int(height)/100#录入时用厘米。
w=int(weight)
BMI = w/h**2
if BMI>=18.5 and BMI<=23.9:
fl = '正常'
else:
fl = '不正常'
print('测量结果为:')
print('BMI:{:.2f}'.format(BMI))
print(fl)
h,w = input('身高(厘米),体重(千克);(逗号分隔):').split(',')
calBMI(h,w)
def calBMI(height,weight):
h=int(height)/100#录入时用厘米。
w=int(weight)
BMI = w/h**2
if BMI>=18.5 and BMI<=23.9:
fl = '正常'
else:
fl = '不正常'
print('测量结果为:')
print('BMI:{:.2f}'.format(BMI))
print(fl)
h,w = input('身高(厘米),体重(千克);(逗号分隔):').split(',')
calBMI(h,w)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询