邏輯運算
2024年9月25日大约 2 分鐘
學習內容:
- 比較運算符
- 邏輯運算符
- 德摩根定律 (De Morgan's Law)
- 運算符的優先順序
比較運算符 (Comparison Operator)
比較運算符用來比較兩個變數或數值,並返回布林值 (True
或 False
)。常見的比較運算符包括:
==
:判斷是否相等!=
:判斷是否不相等>
:大於<
:小於>=
:大於等於<=
:小於等於
範例
a = 5
b = 3
print(a == b) # False
print(a != b) # True
print(a > b) # True
print(a < b) # False
print(a >= 5) # True
print(b <= 2) # False
邏輯運算符 (Logical Operator)
邏輯運算符用來對布林值進行邏輯操作,結果也會是布林值。
and
:兩個條件都為真,結果才為真。or
:只要其中一個條件為真,結果就為真。not
:將條件結果取反值。
範例
x = True
y = False
# and 運算符:兩者都為真才為真
print(x and y) # False
# or 運算符:只要有一者為真就為真
print(x or y) # True
# not 運算符:取反
print(not x) # False
print(not y) # True
德摩根定律 (De Morgan's Law)
德摩根定律是邏輯運算中的一個重要規則,描述了如何對邏輯運算進行反轉:
not (A and B)
等同於(not A) or (not B)
not (A or B)
等同於(not A) and (not B)
德摩根定律幫助我們將複雜的邏輯條件簡化。
範例
A = True
B = False
# 使用德摩根定律
print(not (A and B)) # True,等同於 (not A) or (not B)
print((not A) or (not B)) # True
print(not (A or B)) # False,等同於 (not A) and (not B)
print((not A) and (not B)) # False
常見運算符的優先順序 (Precedences for Common Operators)
Python 中的運算符具有不同的優先順序,這決定了運算的執行順序。運算符優先順序通常從高到低如下:
- 括號
()
- 指數
**
- 乘法、除法、整數除法、取餘
%
、*
、/
、//
- 加法、減法
+
、-
- 比較運算符
>
、<
、>=
、<=
、==
、!=
- 邏輯運算符
not
、and
、or
可以使用括號來強制改變運算順序。
範例
# 不使用括號,按照運算符優先順序計算
result = 5 + 3 * 2
print(result) # 11,先算乘法 3*2 然後加上 5
# 使用括號強制改變運算順序
result = (5 + 3) * 2
print(result) # 16,先算括號內的 5+3 然後乘以 2
練習 3
- 比較 "ABC" 和 "AB" 的大小。
- 比較 "999" 和 "1000" 的大小。