# Python : 運算子 ###### tags: `python` `九年級` + 一個陳述(statement)的運算式中需要有運算元(數值)與運算子(數學運算符號) ## 一、 算數運算子 | 運算子 | 說明 |範例|結果| |:------:|:------:|:------:|:------:| |+|加法|5+8|13| |-|減法|5-8|-3| |*|乘法|5*8|40| |/|浮點數除法|5/8|0.625| |//|整數(捨去)除法|5//8|0| |%|取餘數|5%8|5| |**|乘冪|5**8|390625| ### 範例 1-1 ```python= a = 2**10 #2的10次方 b = 5.7//3 #整數除法 c = 5.7/3 #浮點數除法 d = 10%4 #取10除4後剩下的餘數 e = 1/2+3 #(1/2) + 3 f = 1/(2+3) print(a) print(b) print(c) print(d) print(e) print(f) ``` 結果: >1024 1.0 ==1.9000000000000001== 2 3.5 0.2 ___ :::info ### 浮點數誤差 + **觀察上題範例,python浮點數計算時會有==極小的誤差==**,大約低於10的15次方分之一 + 可以透過以下方式解決 + 1. 使用Round函數限制輸出位數 + 2. 使用字串轉換 `%.2f` ### ⭐ Round函數 + 傳回浮點數某個位數的四捨五入值 + round(浮點數,小數點位數) ### 範例 1-2 ```python= a=1.23456789 b=round(a,1) c=round(a,3) d=round(a,5) print(a) print(b) print(c) print(d) ``` 輸出: >1.23456789 1.2 1.235 1.23457 ### ⭐`%.2f` + 透過`%.2f`來使用字串轉換目標浮點數為指定位數 ### 範例 1-3 ```python= a=1.23456789 b= "%.1f" % (a) c= "%.3f" % (a) d= "%.5f" % (a) print(a) print(b) print(c) print(d) ``` 輸出: >1.23456789 1.2 1.235 1.23457 + 以上兩種方法都能==四捨五入至指定位數== + 請注意範例1-3的 `b`, `c`, `d` 皆為==字串==,如果需要變成浮點數需要透過資料轉換函數float() ::: ___ ## 二、指派運算子 |運算|運算子| |:------:|:------:| |指派|=| |加法指派|+=| |減法法指派|-=| |乘法指派|*=| |除法指派|/=| |餘數指派|%=| ```python= #指派運算子範例 a = 1 #設定變數a的數值為整數1 a += 5 #同等於 a = a+5 b = 7 b -= 10 #同等於 b = b-10 c = 9 c *= 20 #同等於 c = c*20 #分行輸出a,b,c數值 print("a的數值為 : ",a) print("b的數值為 : ",b) print("c的數值為 : ",c) ``` 輸出結果 > a的數值為 : 6 > b的數值為 : -3 > c的數值為 : 180 ___ ## 三、比較運算子 + 可以比較資料間的大小、是否相等、不相等 + 傳回結果為 `True`、`False` |運算|運算子| |:------:|:------:| |相等|==| |不等於|!=| |大於|>| |小於|<| |大於等於|>=| |小於等於|<=| ```python= a = 5 == 5 b = 6 > 3 c = 3 < 0.3 d = 6 != 5 e = "A" != "a" print(a) print(b) print(c) print(d) print(e) ``` 輸出: >True True False True True ___ ## 四、邏輯運算子 + 主要用途為條件判斷中 `True` `False`的運算 + 可以結合比較運算子使用 |運算|運算子| |:------:|:------:| |and|且| |or|或| |not|非| ### 範例 4-1 + `True` `False`邏輯運算 ```python= a = True b = False print(a or b) print(a and b) print(not a) print(not b) ``` 輸出: >True False False True ### 範例 4-2 + 結合比較運算子進行邏輯運算 ```python= c = 50-60 > 9 d = 2**10 >1000 print(c) print(d) print(c or d) print(c and d) print(not c) print(not d) ``` 輸出: >False True True False True False
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.