![](/img/trans.png)
[英]Why does this python logic statement behave opposite to my expected behavior?
[英]Why does my python program always show the opposite reaction
好的,所以我在python中创建了一个文件保存软件,它允许用户创建,删除和上传文件到程序中的秘密文件夹。
这是我遇到麻烦的部分:
user = input("User :")
if user is "Aymen":
print("Welcome")
else:
print("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”。 “是”用于测试,而不是比较两个变量或字符串。
if user == "Aymen":
print("Welcome")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.