我只是想调用这段代码
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"
