为什么`a == b或c或d`总是评估为True?
我正在编写一个拒绝访问未授权用户的安全系统。
import sysprint("Hello. Please enter your name:")name = sys.stdin.readline().strip()if name == "Kevin" or "Jon" or "Inbar":
print("Access granted.")else:
print("Access denied.")它按预期授予对授权用户的访问权限,但它也允许未经授权的用户访问!
Hello. Please enter your name: Bob Access granted.
为什么会这样?我明确表示,只有在与nameKevin,Jon或Inbar相同时才授予访问权限。我也尝试过相反的逻辑if "Kevin" or "Jon" or "Inbar" == name,但结果是一样的。
一只萌萌小番薯
互换的青春
qq_笑_17
随时随地看视频慕课网APP