若執行下列的 Python 程式碼,螢幕上的輸出結果依序為何? name1 = "Alice" name2 = "Bob" if name1 == "" or "user": print("True") else: print("False") if name2 == "Bob" and "Alice": print("True") else: print("False")
ATrue True
BTrue False
CFalse True
DFalse False正確答案
答案與詳解
官方公布答案。命題者預期:把 `name1=="" or "user"` 直覺解讀為「name1 等於 "" 或 "user"」,因 name1="Alice" 兩者皆不符 → False;把 `name2=="Bob" and "Alice"` 解讀為「name2 同時等於 Bob 與 Alice」 → False。此解讀違反 Python 運算子優先序(== 高於 or/and)與短路求值規則,與實機結果不符,但為本題官方標準答案。
