我只是想调用这段代码
uname=""
passwd="jhj"
if uname =="":print "uname"
if passwd=="":print "passwd"
if not uname and passwd:
print "either"
输出是:
uname
either
它不应该是“uname”吗?我该如何解决这个问题?
最佳答案
简单的修复是
if not uname and not passwd:
因为它的计算结果为
if (not uname) and (not passwd):
或
if not (uname or passwd):
但是如果既没有提供 uname
也没有提供 password
(它将打印所有三个),这将无法像预期的那样工作。
您可以更改此构造的逻辑,其中只执行一个 print
:
uname = ""
passwd = "jhj"
if not (uname or passwd):
print "either"
elif not uname:
print "uname"
elif not passwd:
print "passwd"
关于python if 条件 "and"关键字问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10204968/