Python 3.1 快速導覽 - 邏輯運算

Python 的邏輯運算子 (logical operator) 為關鍵字 (keyword) 中的 andornotand 為邏輯且,前後兩個運算元 (operand) 都為真,運算式 (expression) 才為真, or 為邏輯或,前後兩個運算元有一個為真,運算式就為真, not 為邏輯否,也就是真變成假,假變成真。



以下程式示範 and 的使用
a = 12
b = 22

if a > b and a != b:
    print("a > b")

if a < b and a != b:
    print("a < b")

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:expr13.py
# 功能:示範 Python 程式 
# 作者:張凱慶
# 時間:西元 2010 年 12 月 


執行結果如下



由於 a < b 且 a != b ,所以印出 "a < b" 。


以下程式示範 or 的使用
a = 12
b = 22

if a > b or a != b:
    print("a > b or a != b")

if a > b or a != b:
    print("a < b or a != b")

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:expr14.py
# 功能:示範 Python 程式 
# 作者:張凱慶
# 時間:西元 2010 年 12 月 


執行結果如下



由於是用 or 連接兩個運算式, a 與 b 既然不相等,於是兩個字串都會被印出。


以下程式示範 not 的使用
a = 12
b = 0

if a:
    print("a is true")

if b:
    print("b is true")

if not a:
    print("a is false")

if not b:
    print("b is false")

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:expr15.py
# 功能:示範 Python 程式 
# 作者:張凱慶
# 時間:西元 2010 年 12 月 


執行結果如下



對 Python 而言,所有 0 的值會是假,也就是 False ,所有非 0 值會是真,也就是 True ,所以
if a:


條件 (condition) 會成立, if 陳述 (statement) 底下的區塊 (block) 會被執行。同樣的
if not b:


條件也會成立。


中英文術語對照
邏輯運算子logical operator
關鍵字keyword
運算元operand
運算式expression
條件condition
陳述statement
區塊block






沒有留言: