讓使用者輸入身高、體重
接下來幫他算出bmi ,並且顯示bmi代表意義(比如過輕、過重等等)
最後印出時 bmi 值要顯示到小數點2位
考試提示的bmi公式
因為身高使用者輸入的會是公分,
所以我們的bmi公式需改成 = 體重/(公分/100)**2
**2 等於平方
1. 題目說明:
請開啟PYD406.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA406.py再進行評分。
2. 設計說明:
請撰寫一程式,以不定數迴圈的方式輸入身高與體重,計算出BMI之後再根據以下對照表,印出BMI及相對應的BMI代表意義(State)。假設此不定數迴圈輸入-9999則會結束此迴圈。標準如下表所示:
BMI值 | 代表意義 |
---|---|
BMI < 18.5 | under weight |
18.5 <= BMI < 25 | normal |
25.0 <= BMI < 30 | over weight |
30 <= BMI | fat |
提示:BMI=體重(kg)/身高2(m)BMI=體重(kg)/身高2(m),輸出浮點數到小數點後第二位。 不需考慮男性或女性標準。
3. 輸入輸出:
輸入說明
兩個正數(身高cm、體重kg),直至-9999結束輸入
輸出說明
輸出BMI值
BMI值代表意義
輸入輸出範例
輸入與輸出會交雜如下,輸出的部份以粗體字表示
176
80
BMI: 25.83
State: over weight
170
100
BMI: 34.60
State: fat
-9999
參考解答:
while True:
h=eval(input())
if h==-9999:
break
w=eval(input())
if(w==-9999):
break
bmi = w/(h/100)**2
if bmi < 18.5:
s="under weight"
elif bmi >=18.5 and bmi <25:
s="normal"
elif bmi >=25.0 and bmi <30:
s="over weight"
else:
s="fat"
print("BMI: {:.2f}\nState: {}".format(bmi,s))
Yiru@Studio - 關於我 - 意如