为什么我的python程序总是表现出相反的反应

时间:2015-07-03 09:38:25

标签: python python-3.x python-3.4

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

以下是我遇到问题的部分:

user = input("User :")

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

else:
     print("Access denied")

为什么我的程序无论输入是否正确,都会显示“拒绝访问”?

3 个答案:

答案 0 :(得分:3)

请勿使用is来测试等效性,请使用==

is是一个关键字,用于测试两个值是否与内存中的确切实例完全相同。但仅仅因为两件事情是平等的并不意味着Python实际上认为他们是同一个存储在一个位置的对象。它最常用于None,但绝不会影响您使用它。

你应该使用

if user == "Aymen":

答案 1 :(得分:0)

使用is代替is来比较字符串。 >>> s = input("Enter : ") Enter : Aymen >>> s is "Aymen" False >>> s == "Aymen" True 测试身份,而不是平等 。这意味着Python只是简单地比较一个对象所在的内存地址。

示例 -

{{1}}

答案 2 :(得分:0)

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

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