身體質量指數BMI


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)即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM