为什么我的 python 程序总是显示相反的反应

Why does my python program always show the opposite reaction

好的,所以我正在 python 中制作一个文件保存软件,它可以让用户在程序中制作、删除和上传文件到一个秘密文件夹。

这是我遇到问题的部分:

user = input("User :")

if user is "Aymen":
     print("Welcome")

else:
     print("Access denied")

为什么我的程序不管输入是否正确总是显示 "Access denied"?

不要使用 is 来测试等价性,使用 ==

is 是一个关键字,用于测试两个值在内存中是否完全相同。但是仅仅因为两个东西相等并不意味着 Python 实际上认为它们是存储在一个位置的同一个对象。它最常与 None 一起使用,但绝不会以您使用它的方式使用。

你应该使用

if user == "Aymen":

使用 == 而不是 is 来比较字符串。 is 测试同一性,而不是相等性。这意味着 Python 只是比较对象所在的内存地址。

例子-

>>> s = input("Enter : ")
Enter : Aymen
>>> s is "Aymen"
False
>>> s == "Aymen"
True

如果要与字符串或变量进行比较,请使用“==”,而不是 "is"。 "is" 用于测试,而不是比较两个变量或字符串。

if user == "Aymen":
     print("Welcome")