繁体   English   中英

为什么我的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")

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

不要使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM