Python 运算符练习 not and or
#操作符练习,求打印的内容 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 '''