码迷,mamicode.com
首页 > 其他好文 > 详细

身体质量指数BMI

时间:2019-08-08 21:26:49      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:必须   pre   nbsp   国际   影响   表格   建议   指标   else   

技术图片

技术图片

Solution:

方法一:"Python语言程序设计"(中国大学MOOC平台)的答案

技术图片

分析:对比两种指标,将共性(相同的区间)和异性(不同的区间)细分。这样两种指标的判断条件(不等式)会一致,从而所分的每个区间都只用一条判断语句即可处理,同时将处理的结果一次性赋值给两个变量

方法二:本人的答案

 1 def gj(bmi):
 2     if bmi<18.5:
 3         a = "偏瘦"
 4     elif 18.5<=bmi<25:
 5         a = "正常"
 6     elif 25<=bmi<30:
 7         a = "偏胖"
 8     else:
 9         a = "肥胖"
10     return a
11 def gn(bmi):
12     if bmi<18.5:
13         b = "偏瘦"
14     elif 18.5<=bmi<24:
15         b = "正常"
16     elif 24<=bmi<28:
17         b = "偏胖"
18     else:
19         b = "肥胖"
20     return b
21 def main():
22     height, weight = eval(input())
23     bmi= round(weight/(height**2),2)
24     c = gj(bmi)
25     d = gn(bmi)
26     print("BMI数值为:{}".format(bmi))
27     print("BMI指标为:国际‘{}‘,国内‘{}‘".format(c,d))
28 main()

此方法没有将两种指标不同的区间加以细分,原原本本按照题目表格的判断条件(不等式)进行讨论。此题使用自定义函数要注意以下几点:

(1)因为“国际”函数:gj()和“国内”函数:gn(),都要用到bmi,所以两函数的参数都必须设为bmi。此题这两个函数的独立运行,互不影响,即没有信息流的传递

(2)主函数中,行22-23也可写在最开头,但为了规范,建议写进主函数中。行24-25的c和d可以省略,将行27、28的c和d改为gj(bmi)和gn(bmi)即可

 

身体质量指数BMI

标签:必须   pre   nbsp   国际   影响   表格   建议   指标   else   

原文地址:https://www.cnblogs.com/kenny-feng/p/11323572.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!