python 为什么(真或假和假)是真的?

6yoyoihd  于 2023-09-29  发布在  Python
关注(0)|答案(4)|浏览(94)

为什么这个打印是'是'我不明白我明白x或y返回true但x和z应该返回false还是它比较的顺序不同

x=True
y=False
z=False
if(x or y and z):
 print ("yes")
else:
 print("no")
v64noz0r

v64noz0r1#

因为and的优先级高于or,所以它等价于:

True or (False and False)

即:

True or False

即:

True
6rqinv9w

6rqinv9w2#

这是因为and的优先级高于or,所以在检查条件的逻辑时会优先考虑它。该条件基本上等同于

x or (y and z)

您可以了解有关Python运算符优先级here的更多信息

2g32fytz

2g32fytz3#

在Python中,和的优先级高于或。所以当你写x或y和z时,它实际上被计算为x或(y和z)。

3mpgtkmj

3mpgtkmj4#

由于Python中的运算符优先级规则,它与以下相同:

if x or (y and z):

由此可见:

if True or (False and False):

相关问题