Я пишу систему безопасности, которая запрещает доступ неавторизованным пользователям.
import sys
print("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.
Почему это происходит? Я прямо заявил, что предоставлять доступ можно только тогда, когда name
совпадает с Кевином, Джоном или Инбаром. Я также попробовал противоположную логику, if "Kevin" or "Jon" or "Inbar" == name
, но результат тот же.