用 Python 做加減乘除

加法

首先我們先試著用 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

參考閱讀:
https://www.w3schools.com/python/python_operators.asp