加法
首先我們先試著用 Python 來做簡單計算機使用。在 Spyder 的 iPython 視窗裡,輸入算式,然後按 Enter。以下是整數的加法,計算 3 + 2 =?
In [1]: 3 + 2 Out[1]: 5
我們也可以浮點數 (float) 來計算,也就是帶有小數的數。如:
In [2]: 3.0 + 2 Out[2]: 5.0 In [3]: 4.5 + 1.3 Out[3]: 5.8
當輸入 3 時,系統會以整數處理。但輸入 3.0 時,系統會視它為浮點數。
減法
以下是減法的例子:
In [1]: 12 - 5 Out[1]: 7 In [2]: 12 - 5.0 Out[2]: 7.0 In [5]: 76.2 - 50.1 Out[5]: 26.1
乘法
In [6]: 8 * 3 Out[6]: 24 In [7]: 8.3 * 3.54 Out[7]: 29.382 In [8]: 8 * 3.0 Out[8]: 24.0
除法
In [9]: 63 / 9 Out[9]: 7.0 In [10]: 7654 / 12 Out[10]: 637.8333333333334
在除法計算時,即使輸入的是整數,輸出的答案也會自動轉換為浮點數。
除法的分母不能為 0, 如果我們以 0 為分母來計算,會出現錯誤訊息: ZeroDivisionError。
In [1]: 3 / 0 Traceback (most recent call last): File "", line 1, in 3 / 0 ZeroDivisionError: division by zero In [2]: 0 / 0 Traceback (most recent call last): File "", line 1, in 0 / 0 ZeroDivisionError: division by zero
餘數
餘數的計算,是用 % 這個符號來代表。
In [13]: 15 % 4 Out[13]: 3 In [14]: 28 % 8 Out[14]: 4 In [15]: 15.08 % 4 Out[15]: 3.08
指數
指數的計算用 ** 代表。例如:
In [16]: 3 ** 4 Out[16]: 81 In [17]: 3 ** 5.6 Out[17]: 469.76323691841816 In [18]: 4.21 ** 5 Out[18]: 1322.5450646100999 In [19]: 2.0 ** 4 Out[19]: 16.0
取整數除法 (floor division)
這個計算傳回的是除法運算後,只取整數部份,的除法。就是小於等於真正除法結果的整數。例如:
In [21]: 29 // 6 Out[21]: 4 In [22]: 29.7 // 6 Out[22]: 4.0 In [23]: 29 // 6.0 Out[23]: 4.0 In [24]: 34 // 5 Out[24]: 6
浮點數誤差
有時電腦不如我們想像的這麼精準,看看以下的例子,這三個加法的正確答案應該都要是 4.06,但是在下面 2 個例子,答案卻都是 4.0600000000000005。
像這類的誤差,就是浮點數計算時的誤差。所以,我們心裡要記得,電腦計算出來的答案,時常是近似值,未必是完全正確的答案。
In [6]: 3.86 + 0.2 Out[6]: 4.06 In [7]: 0.86 + 3.20 Out[7]: 4.0600000000000005 In [8]: 0.96 + 3.1 Out[8]: 4.0600000000000005