python比较运算符冲突


a=8
b=3
if a>b!=True:
print("ex1")
else:
print("ex2")

输出:ex1

预期输出:ex2

为什么不管a>bTrue值都不执行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)

最新更新