身體質量指數BMI:對身體質量的刻畫(Body Mass Index)
國際上常用的衡量人體肥胖和健康程度的重要標准,主要用於統計分析
定義:
BMI=體重(kg)/身高^2(m2)
提出問題:
實例:體重72kg 身高1.75m
BMI值是23.5
這個值是否健康呢?
分類 | 國際BMI值(kg/m^2) | 國內BMI值(kg/m^2) |
偏瘦 | <18.5 | <18.5 |
正常 | 18.5-25 | 18.5-24 |
偏胖 | 25-30 | 24-28 |
肥胖 | >=30 | >=28 |
問題分析:
1、輸入:給定體重和身高值
2、輸出:BMI指標分類信息(國際和國內)
我們大概有兩個思路:
思路1:分別計算給出國際和國內的BMI分類
思路2:混合計算並給出國際國內BMI分類
首先我們根據思路一編寫如下代碼
1 #CalBMIv1.py 2 height, weight = eval(input("請輸入身高(米)和體重(公斤)[逗號隔開]: ")) 3 bmi = weight / pow(height, 2) 4 print("BMI 數值為:{:.2f}".format(bmi)) 5 who = "" 6 if bmi < 18.5: 7 who = "偏瘦" 8 elif 18.5 <= bmi < 25: 9 who = "正常" 10 elif 25 <= bmi < 30: 11 who = "偏胖" 12 else: 13 who = "肥胖" 14 print("BMI 指標為:國際'{0}'".format(who))
1 #CalBMIv2.py 2 height, weight = eval(input("請輸入身高(米)和體重\(公斤)[逗號隔開]: ")) 3 bmi = weight / pow(height, 2) 4 print("BMI 數值為:{:.2f}".format(bmi)) 5 nat = "" 6 if bmi < 18.5: 7 nat = "偏瘦" 8 elif 18.5 <= bmi < 24: 9 nat = "正常" 10 elif 24 <= bmi < 28: 11 nat = "偏胖" 12 else: 13 nat = "肥胖" 14 print("BMI 指標為:國內'{0}'".format(nat))
根據思路2,可以編寫如下程序
1 #CalBMIv3.py 2 height, weight = eval(input("請輸入身高(米)和體重(公斤)[逗號隔開]: ")) 3 bmi = weight / pow(height, 2) 4 print("BMI 數值為:{:.2f}".format(bmi)) 5 who, nat = "", "" 6 if bmi < 18.5: 7 who, nat = "偏瘦", "偏瘦" 8 elif 18.5 <= bmi < 24: 9 who, nat = "正常", "正常" 10 elif 24 <= bmi < 25: 11 who, nat = "正常", "偏胖" 12 elif 25 <= bmi < 28: 13 who, nat = "偏胖", "偏胖" 14 elif 28 <= bmi < 30: 15 who, nat = "偏胖", "肥胖" 16 else: 17 who, nat = "肥胖", "肥胖" 18 print("BMI 指標為:國際'{0}', 國內'{1}'".format(who, nat))
大家可以動手試試