#操作符练习,求打印的内容
x = True
y = False
z = False
if not x or y:
print(1)
elif not x or not y and z:
print(2)
elif not x or y or not y and x:
print(3)
else:
print(4)
'''
已知操作符优先级顺序,not > and > or
a and b 若a为False 返回a 否则返回b
a or b 若a为True 则返回a 否则返回b
not a 若a为True 返回False 若a为False,则返回True
我们看上面的表达式一个一个来解
if not x or y
1:not优先级较高,先运算not x 因为x=True 所以 not x =False
2.语句表达式解为: if False or y y=False
3.语句表达式解为: if False or False
4.根据运算符规则, 该语句解为:False
5.所以if not x or y 返回值为False 当前未命中,进入下一个if判断
-----------------------------------
if not x or not y and x
1.not优先级较高, x = True y = False z = False
2.语句表达式解为: if False or True and False
3.语句中有or和and and优先级较高,先执行and运算
4.语句表达式解为: if False or False
6.语句表达式解为:if False
所以该语句不会执行,进入下个语句判断
------------------------------------------------
elif not x or y or not y and x:
1.not优先级较高,先进行not运算 x = True y = False z = False
2.语句表达式解为: elif False or False or True and True
3.语句表达式有 or和and 根据优先级 and先预算
4.语句表达式解为:elif False or False or True
5.语句只有or 从左到右进行计算
6.语句表达式解为:elif False or True
7.语句表达式解为:elif True
8.语句表达式解为:elif True
9.语句为True 执行该段语句
-------------------------------------------------------
所以,最终函数打印的内容为:3
'''