2015-01-09 57 views
0

我只是寫這個非常簡單的腳本來計算公斤和釐米的bmi。 但它總是打印0.任何想法爲什麼?體重指數計算器總是返回0.(Python)

代碼:

weight = int(raw_input("Weight in kg: ")) 
length = int(raw_input("Length in cm: ")) 

def bmi(): 
    bmi = (weight)/(length * length) 
    return bmi 

print bmi() 
+0

由於整數除法在Python 2.x中,'A/B == 0'爲如果'a'和'b'都是整數,則全部'a jonrsharpe

+0

嗯,你使用Py 2.7並執行int劃分,所以你總是會得到一個int。如果用175 * 175除以60,那將小於1,所以它結束爲零。 – Roberto

+0

在開始處加上:'from __future__ import division' – Roberto

回答

1

類型將其轉換爲float/總是會做整數除法。

也就是說

bmi = float(weight)/float(length * length) 

它將打印

Weight in kg: 10 
Length in cm: 20 
0.025 

或做

from __future__ import division 
+0

謝謝! :)它的工作原理 – Lagastic

+1

爲了改善這一點,作爲浮點數通常不是完美的表示BMI等計算方法,可以考慮使用'Decimal'模塊。 – Scironic