为什么这个打印是'是'我不明白我明白x或y返回true但x和z应该返回false还是它比较的顺序不同
x=True y=False z=False if(x or y and z): print ("yes") else: print("no")
v64noz0r1#
因为and的优先级高于or,所以它等价于:
and
or
True or (False and False)
即:
True or False
True
6rqinv9w2#
这是因为and的优先级高于or,所以在检查条件的逻辑时会优先考虑它。该条件基本上等同于
x or (y and z)
您可以了解有关Python运算符优先级here的更多信息
2g32fytz3#
在Python中,和的优先级高于或。所以当你写x或y和z时,它实际上被计算为x或(y和z)。
3mpgtkmj4#
由于Python中的运算符优先级规则,它与以下相同:
if x or (y and z):
由此可见:
if True or (False and False):
4条答案
按热度按时间v64noz0r1#
因为
and
的优先级高于or
,所以它等价于:即:
即:
6rqinv9w2#
这是因为
and
的优先级高于or
,所以在检查条件的逻辑时会优先考虑它。该条件基本上等同于您可以了解有关Python运算符优先级here的更多信息
2g32fytz3#
在Python中,和的优先级高于或。所以当你写x或y和z时,它实际上被计算为x或(y和z)。
3mpgtkmj4#
由于Python中的运算符优先级规则,它与以下相同:
由此可见: