不間斷 Python 挑戰 Day 3 - 基本數學運算

不間斷 Python 挑戰 Day 3 - 基本數學運算

更新於 發佈於 閱讀時間約 5 分鐘

四則運算

Python的四則運算透過「+」(加)、「-」(減)、「*」(乘)、「/」(除)等算術運算子,或是「+=」、「-=」、「*=」、「/=」等指派運算子來達成。這裡的「+=」若寫成「a += b」,即等同於「a = a + b」的意思。

# addition
integer_x = 1 + 2      # integer_x = 3
integer_x = integer_x + 1  # integer_x = 3 + 1 = 4
integer_x += 1   # integer_x = 4 + 1 = 5
print(integer_x)

# subtraction
integer_x = 5 - 2    # integer_x = 5 - 2 = 3
integer_x = integer_x - 1  # integer_x = 3 - 1 = 2
integer_x -= 1    # integer_x = 2 - 1 = 1
print(integer_x)

# multiplication
integer_x = 1 * 2    # integer_x = 1 * 2 = 2
integer_x = integer_x * 2  # integer_x = 2 * 2 = 4
integer_x *= 2    # integer_x = 4 * 2 = 8
print(integer_x)

# division
integer_x = 8 / 2   # integer_x = 8 / 2 = 4.0
integer_x = integer_x / 2 # integer_x = 4.0 / 2 = 2.0
integer_x /= 2    # integer_x = 2.0 / 2 = 1.0
print(integer_x)
print(type(integer_x))

須注意一旦做了除法的運算,即使原本的資料型態是整數,也會被自動轉換成浮點數。計算結果如下:

5
1
8
1.0
<class 'float'>

商數和餘數

商數透過「//」及「//=」、餘數透過「%」及「%=」來達成。

# quotient
integer_x = 5 // 2 # 5 / 2 = 2 ... 1
print(integer_x)

integer_x = 5
integer_x //= 2
print(integer_x)

# remainder
integer_x = 5 % 2 # 5 / 2 = 2 ... 1
print(integer_x)

integer_x = 5
integer_x %=2
print(integer_x)

計算結果:

2
2
1
1

次方

次方透過「**」及「**=」來達成。

# exponent
integer_x = 2 ** 3 # integer_x = 2 ^ 3 = 8
print(integer_x)

integer_x = 2
integer_x **= 3
print(integer_x)

計算結果:

8
8

運算的優先順序

就如同我們在國小學習的四則運算,需記住一個PEMDAS原則,運算時由左而右依序為括號優先、再來次方、乘除、最後是加減。

P   Parentheses
E   Exponents
MD Multiplication and Division
AS  Addition and Subtraction

程式範例

https://github.com/wjweng/marathon_python/blob/master/Day1_to_25/marathon_python_day3.py

avatar-img
Wei-Jie Weng的沙龍
47會員
36內容數
留言
avatar-img
留言分享你的想法!
Wei-Jie Weng的沙龍 的其他內容
對於程式的初學者而言,理解程式的流程、迴圈的進行、或是變數的變化會需要一定程度將程式在腦中進行運算的能力,要一段時間熟悉與適應,尤其是當程式執行的結果不如預期時,往往是計算的過程和自己所想像的不同,這時又更難靠自己的能力找出錯誤。因此,這邊要介紹的這個工具可以將程式執行的過程逐行將變數的變化視覺化地
在上一節介紹了 JSON 資料的基本架構後,我們將改寫並擴充密碼產生器程式,讓它能夠藉由 JSON 的資料結構完成帳密搜尋的功能。
JSON的全名叫JavaScript Object Notation,是由Douglas Crockford所設計的一種資料格式,最初應用在JavaScript程式語言中,做為一種資料交換的格式,而後被廣泛運用在Web開發與NoSQL資料庫,現今已成為一種重要的資料格式。
對於程式的初學者而言,理解程式的流程、迴圈的進行、或是變數的變化會需要一定程度將程式在腦中進行運算的能力,要一段時間熟悉與適應,尤其是當程式執行的結果不如預期時,往往是計算的過程和自己所想像的不同,這時又更難靠自己的能力找出錯誤。因此,這邊要介紹的這個工具可以將程式執行的過程逐行將變數的變化視覺化地
在上一節介紹了 JSON 資料的基本架構後,我們將改寫並擴充密碼產生器程式,讓它能夠藉由 JSON 的資料結構完成帳密搜尋的功能。
JSON的全名叫JavaScript Object Notation,是由Douglas Crockford所設計的一種資料格式,最初應用在JavaScript程式語言中,做為一種資料交換的格式,而後被廣泛運用在Web開發與NoSQL資料庫,現今已成為一種重要的資料格式。