笨方法学python 习题27

习题27
我直接给大家看我做的结果,其中有一行有两个答案,是我写错的,第二个答案为正确答案,再次提醒大家不要粗心大意,我就是粗心大意的错

True and True          True
False and True         False
1 == 1 and 2 ==1       False
"test"=="test"         True
1==1 or 2 != 1         True
True and 1== 1         True
False and 0!=0         False
True or  1==1          True 
"test"!="testing"      True
"test"==1              False
not (True and False)   True
not (1==1 and 0!=1)    True      False  (这里是粗心犯的错)
not (10 ==1 or 1000 ==1000)        False
not (1!= 10 or 3==4)               False
not ("testing"== "testing" and  "Zed" == "Cool Guy")    True
1==1 and not ("testing" ==1 or 1 ==0)                   True
"chunky"=="bacon" and not (3==4 or 3==3)                False
3==3 and not ("testing" == "testing" or "Python" == "Fun")    False

我已经一次核对过,如果还有错误的话,请大家提醒我。

在本节结尾的地方我会给你一个理清复杂逻辑的技巧。所有的布尔逻辑表达式都可以用下面的简单流程得到结果:
1.找到相等判断的部分 (== or !=),将其改写为其最终值(True 或False)。
2.找到括号里的 and/or,先算出它们的值。
3.找到每一个 not,算出他们反过来的值。
4.找到剩下的 and/or,解出它们的值。
5.等你都做完后,剩下的结果应该就是 True 或者 False 了。

下面我们以 #20 逻辑表达式演示一下:
3 != 4 and not (“testing” != “test” or “Python” == “Python”)
接下来你将看到这个复杂表达式是如何逐级解为一个单独结果的:
1.解出每一个等值判断:
1.3 != 4为 True: True and not (“testing” != “test” or"Python" == “Python”)
2.“testing” != “test"为 True: True and not (True or"Python” == “Python”)
3.“Python” == “Python”: True and not (True or True)
2.找到括号中的每一个 and/or :
1.(True or True)为 True: True and not (True)
3.找到每一个 not 并将其逆转:
1.not (True)为 False: True and False
4.找到剩下的 and/or,解出它们的值:
1.True and False为 False
这样我们就解出了它最终的值为 False.
Warning复杂的逻辑表达式一开始看上去可能会让你觉得很难。而且你也许已经碰壁过了,不过别灰心,这些“逻辑体操”式的训练只是让你逐渐习惯起来,这样后面你可以轻易应对编程里边更酷的一些东西。只要你坚持下去,不放过自己做错的地方就行了。如果你暂时不太能理解也没关系,弄懂的时候总会到来
加分习题
1.Python 里还有很多和 !=、 ==类似的操作符. 试着尽可能多地列出 Python 中的等价运算符。例如 <或者 <=就是。
2.写出每一个等价运算符的名称。例如 !=叫“not equal(不等于)”。
我就写文中的吧

  • and 为 与
  • or 为 或
  • != 为 不等于
  • ==为等式两边相等
  • not 为 非

3.在 python中测试新的布尔操作。在敲回车前你需要喊出它的结果。不要思考,凭自己的第一感就可以了。把表达式和结果用笔写下来再敲回车,最后看自己做对多少,做错多少。
我也简单做一个布尔逻辑表达式的演示


 "chunky"=="bacon" and not (3==4 or 3==3)  
 1.解出每一个等值判断:  
     1,“chunky”==“bacon”为False:False and not(3==4 or 3==3)
     2.3==4 为False: False and not(False or 3==3)
     3.3==3 为True : False and not (False or True)
2.找到括号中的每一个 and/or : 
     1.False or True 为 True: False and not True
3.找到每一个 not 并将其逆转:
     1.not True 为False: False and False
4.找到剩下的 and/or,解出它们的值:
     1.False and False 为 False
 所以答案为False

     

4.把习题 3 那张纸丢掉,以后你不再需要查询它了。

上一篇:Office 2013 激活工具


下一篇:Node.js批量去除BOM文件