Skip to main content
 首页 » 编程设计

python if 条件 "and"关键字问题

2025年05月04日21xxx_UU

我只是想调用这段代码

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"