Python学习|[Python] 你的BMI是多少呢()

【Python学习|[Python] 你的BMI是多少呢()】博客主页:程序喵正在路上 的博客主页
欢迎关注点赞收藏留言
本文由 程序喵正在路上 原创,CSDN首发!
系列专栏:Python学习
首发时间:2022年4月28日
?如果觉得博主的文章还不错的话,希望小伙伴们三连支持一下哦
要点:这是一个计算BMI并通过分支结构给出身体质量分类的实例。
前言
改革开放近 40 年,中国取得了世界瞩目的发展成就,人民生活水平显著提高、越来越多人开始关注“身体质量”,其中,肥胖程度最受关注。身体质量指数 (Body Mass Index,BMI) 是国际上常用的衡量人体肥胖程度和是否健康的重要标准,主要用于统计分析。肥胖程度的判断不能采用体重的绝对值,它天然与身高有关。因此,BMI 通过人体体重和身高两个数值获得相对客观的参数,并用这个参数所处范围衡量身体质量。
BMI 的定义如下:
????BMI = 体重(kg) / 身高2(m2)
例如,一个人身高 1.78 m、体重 67 kg,他的 BMI 值为 21.15.
BMI 值可以客观地衡量人的肥胖程度或健康程度。世界卫生组织根据全球人口体重统计认为,BMI 值低于 18.5 kg/m2 时 “过轻”,表明个体可能营养不良或者饮食无法保障;BMI 值高于 25 kg/m2 时 “过重”。我国卫生部也根据中国人体质给出了国内 BMI 参考值。更多 BMI 衛量标准如下表:
分类 国际 BMI 值( kg/m2 ) 国内 BMI 值( kg/m2 )
偏瘦 < 18.5 < 18.5
正常 18.5 ~ 25 18.5 ~ 24
偏胖 25 ~ 30 24 ~ 28
肥胖 ≥30 >28
本实例编写一个根据体重和身高计算 BMI 值的程序,同时输出国际和国内的BMI指标建议值。该问题的 IPO 描述如下。
输入:身高和体重值
处理:计算 BMI 值,并根据 BMI 指标分类找到合适类别
输出:打印指标分类信息
该实例的完整代码如下,请注意各判断条件及后面的注释。
height, weight = eval(input("请输入身高(米)和体重(公斤) [逗号隔开(英文格式)]:"))bmi = weight / pow(height, 2) print("BMI 数值为:{:.2f}".format(bmi)) who, dom = " ", " "if bmi < 18.5:# WHO 标准 who = "偏瘦" elif bmi < 25: who = "正常" elif bmi < 30: who = "偏胖" else: who = "肥胖"if bmi < 18.5:# 我国卫生部标准 dom = "偏瘦" elif bmi < 24: who = "正常" elif bmi < 28: who = "偏胖" else: who = "肥胖"print("BMI 指标为:国际 '{0}',国内 '{0}'".format(who, dom))

程序运行结果如下:
请输入身高(米)和体重(公斤) [逗号隔开]:1.78, 67
BMI 数值为:21.15
BMI 指标为:国际 ‘正常’,国内 ‘正常’
上面的代码采用了多分支结构对 BMI 数值按照不同区间范围进行分类,这种采用 if-elif-else 分支语句进行程序设计的方式十分常见。对于需要同时打印国际和国内两套 BMI 标准,程序采用两个 if-elif-else 语句分别计算两类不同 BMI 值。这种做法的好处是代码清晰明了,容易调试。
下面我们将两套指标合成一个 if-elif-else 语句来实现。
height, weight = eval(input("请输入身高(米)和体重(公斤) [逗号隔开(英文格式)]:")) bmi = weight / pow(height, 2) print("BMI 数值为:{:.2f}".format(bmi))who, dom = " ", " " if bmi < 18.5: who, dom = "偏瘦", "偏瘦" elif 18.5 <= bmi < 24: who, dom = "正常", "正常" elif 24 <= bmi < 25: who, dom = "正常", "偏胖" elif 25 <= bmi < 28: who, dom = "偏胖", "偏胖" elif 28 <= bmi < 30: who, dom = "偏胖", "肥胖" else: who, dom = "肥胖", "肥胖"print("BMI 指标为:国际 '{0}',国内 '{0}'".format(who, dom))

比较两种写法可以发现,if 语句的运用主要与程序编写者对问题的理解及算法设计有关,采用一组 if 语句将两套 BMI 指标融合在起, 这实际上是算法的改变。即使对专业程序员来说,程序的简洁性和可读性都比更少的代码行数重要,这里,推荐采用 第一种 方式编写程序。
拓展:中国居民膳食指南
《中国居民膳食指南》是 2016 年 5 月 13 日由国家卫生评生委项控局发布的指导中国居民饮食的权威资料。该指南针对2岁以上的所有储康人群提出 6 条核心推荐,分别为:食物多样,谷类为主;吃动平衡,健康体重:多吃水果、奶类、大豆;适量吃鱼、禽、蛋、瘦肉;少盐少油,控糖限酒:杜绝浪费、新兴食尚。
指南建议平均每天摄入 12 种以上食物,每周 25 种以上。各年龄段人群都应坚持日常身体活动,每周至少进行 5 天中等强度身体活动,累计 150 分钟以上。蔬莱水果是平衡膳食的重要组成部分,吃各种各样的奶制品,经常吃豆制品,适量吃坚果。鱼、禽、蛋和瘦肉摄入要适量。少吃肥肉、烟熏和腌制肉食品。成人每天食盐不超过 6 g,每天烹调油 25-30 g。足量饮水,成年人每天 7-8 杯,1500-1700ml,提倡饮用白开水和茶水。健康饮食,你做到了哪些?
这次的分享就到这里啦,继续加油哦^^
有出错的地方欢迎在评论区指出来,共同进步,谢谢啦

    推荐阅读