輕鬆學Python

Day-4: 加減乘除

目的

用Python做整數的加減乘除,並發現整數除法中隱藏的陷阱。

說明

下面的例子我們用Python計算1+2, 1-2, 1*2,以及1/2的值。

程式碼

print "1 + 2 = ", 1 + 2
print "1 - 2 = ", 1 - 2
print "1 * 2 =", 1 * 2
print "1 / 2 = ", 1 / 2

輸出的結果

1 + 2 =  3
1 - 2 =  -1
1 * 2 = 2
1 / 2 =  0

這邊發現,Python在前三種運算都沒有出現問題,但是在除法的計算中出現了問題。原因是因為,Python在整數除整數的計算,會將答案中小數點後會被無條件捨去,所以本來½ 應該是0.5卻變成0了。為了要正確算出0.5,我們可以看下面的例子

程式碼

print "1.0 / 2.0 = ", 1.0 / 2.0
print "1.0 / 2 = ", 1.0 / 2
print "1 / 2.0 = ", 1 / 2.0

輸出的結果

1.0 / 2.0 =  0.5
1.0 / 2 =  0.5
1 / 2.0 =  0.5

解說

當除數或是被除數是浮點數的時候,Python在除法計算上就會計算出正確的數值0.5。另一個方法是利用Python內建的float()函數,將括號中的數字強迫轉成浮點數,這樣子也可以得到正確的答案0.5。

程式碼

print "float (1) = ", float(1)
print "float(1) / 2 = ", float(1) / 2

輸出的結果

float(1) =  1.0
float(1) / 2 =  0.5

本單元結論

  • Python中整數除整數會出現問題
  • float()會將括號內的數字轉為浮點數