#操作符練習,求打印的內容 x = True y = False z = False if not x or y: print(1) elif not x or not y and z: print(2) elif not x or y or not y and x: print(3) else: print(4) ''' 已知操作符優先級順序,not > and > or a and b 若a為False 返回a 否則返回b a or b 若a為True 則返回a 否則返回b not a 若a為True 返回False 若a為False,則返回True 我們看上面的表達式一個一個來解 if not x or y 1:not優先級較高,先運算not x 因為x=True 所以 not x =False 2.語句表達式解為: if False or y y=False 3.語句表達式解為: if False or False 4.根據運算符規則, 該語句解為:False 5.所以if not x or y 返回值為False 當前未命中,進入下一個if判斷 ----------------------------------- if not x or not y and x 1.not優先級較高, x = True y = False z = False 2.語句表達式解為: if False or True and False 3.語句中有or和and and優先級較高,先執行and運算 4.語句表達式解為: if False or False 6.語句表達式解為:if False 所以該語句不會執行,進入下個語句判斷 ------------------------------------------------ elif not x or y or not y and x: 1.not優先級較高,先進行not運算 x = True y = False z = False 2.語句表達式解為: elif False or False or True and True 3.語句表達式有 or和and 根據優先級 and先預算 4.語句表達式解為:elif False or False or True 5.語句只有or 從左到右進行計算 6.語句表達式解為:elif False or True 7.語句表達式解為:elif True 8.語句表達式解為:elif True 9.語句為True 執行該段語句 ------------------------------------------------------- 所以,最終函數打印的內容為:3 '''