Python 运算符练习 not and or

Posted 神迹丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
\'\'\'

 

以上是关于Python 运算符练习 not and or的主要内容,如果未能解决你的问题,请参考以下文章

python中and、or和not 三个逻辑运算符,一直理解不了,求帮助!

Python not and or

20181018练习

while 循环 及 and or not 练习

python-逻辑运算:not\and\or和布尔值:True\False

练习--第一次课(运算if while 字符编码)