求一道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
正常
展开
 我来答
紫薇参星
科技发烧友

2021-04-05 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3480万
展开全部

按照题目要求编写的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
然后显示不出结果,您能再指点一下吗?我将不胜感激!

hb丰收
2021-04-05 · TA获得超过592个赞
知道小有建树答主
回答量:2971
采纳率:42%
帮助的人:202万
展开全部
#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)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式