a=8
b=3
if a>b!=True:
print("ex1")
else:
print("ex2")
输出:ex1
预期输出:ex2
为什么不管a>b
给True
值都不执行else
条件?
添加了@khelwood在评论中提到的内容。
在一起使用运算符之前,您需要了解运算符优先级。
请浏览以下内容:操作员优先
a=8
b=3
if (a>b) != True:
print("ex1")
else:
print("ex2")
现在,上面的代码将为您提供ex2
作为输出,因为()
具有更高的优先级。
您观察到
a>b!=True
使含义a>b and b!=True
,以避免调用所述特征使用括号,即
(a>b)!=True
需要注意的是,上述条件可能表示为
not (a>b)