多平台统一管理软件接口,如何实现多平台统一管理软件接口
242
2022-09-07
“笨办法”学Python 3:布尔表达式练习
在编程中,布尔逻辑可以说是无处不在的。它们是计算机运算的基础部分,掌握它们就跟学音乐掌握音阶一样重要。
在这个习题中,将在Python里使用前一个习题中学到的逻辑表达式。先为下面的每一个逻辑问题写出你的答案,每一题的答案要么为True要么为False。写完以后,在终端中启动Python,录入这些逻辑语句,确认你写的答案是否正确。
1.True and True
2.False and True
3.1 == 1 and 2 == 1
4."test" == "test"
5.1== 1 or 2 != 1
6.True and 1 == 1
7.False and 0 != 0
8.True or 1 == 1
9."test" == "testing"
10.1 != 0 and 2 == 1
11."test" != "testing"
12."test" == 1
13.not (True and False)
14.not (1 == 1 and 0 != 1)
15.not (10 == 1 or 1000 == 1000)
16.not (1 != 10 or 3 == 4)
17.not ("testing" == "testing" and "Zed" == "Cool Guy")
18.1 == 1 and not ("testing" == 1 or 1 == 0)
19."chunky" == "bacon" and not (3 == 4 or 3 == 3)
20.3 == 3 and not ("testing" == "testing" or "Python" == "Fun")
在这个习题结尾的地方我会给你一种帮助你理清复杂逻辑的技巧。
所有的布尔逻辑表达式都可以用下面的简单流程得到结果。
1.找到相等判断的部分(==或!=),将其改写为其最终值(True或False)。
2.找到括号中的and/or,先算出它们的值。
3.找到每一个not,算出它们取反的值。
4.找到剩下的and/or,解出它们的值。
5.都做完后,剩下的结果应该就是True或者False了。
下面以第20个逻辑表达式演示一下:
3 != 4 and not ("testing" != "test" or "Python" == "Python")
接下来你将看到这个复杂的表达式是如何被逐级解为一个结果的。
1.解出每一个相等判断。
a. 3 != 4为True: True and not ("testing" != "test" or "Python" == "Python") b. "testing" != "test"为True: True and not (True or "Python" == "Python") c. "Python" == "Python"为True: True and not (True or True)
2.找到括号中的每一个and/or。
(True or True)为True: True and not (True)
3.找到每一个not并将其取反。
not (True)为False: True and False
4.找到剩下的and/or,解出它们的值。
True and False为False
这样我们做完了,知道了它最终的值为False。
警告 复杂的布尔逻辑表达式一开始看上去可能会让你觉得很难。你也许已经碰壁过了,不过别灰心,这些“逻辑体操”式的训练只是让你逐渐习惯起来,以便后面你可以轻松应对编程里边更酷的一些东西。只要坚持下去,不放过自己做错的地方就行了。如果你暂时不太理解也没关系,最终总是会弄懂的。
应该看到的结果
在你尝试过猜测结果以后,就来看看Python会话中得到的结果。
$ python3.6Python 2.5.1 (r251:54863, Feb 6 2009, 19:02:12)[GCC 4.0.1 (Apple Inc. build 5465)] on DarwinType "help", "copyright", "credits" or "License" for more information.>>> True and TrueTrue>>> 1 == 1 and 2 == 2True
巩固练习
1.Python里还有很多和!=和==类似的操作符。试着尽可能多地列出Python中的“相等运算符”,如<或者<=。
2.写出每一个“相等运算符”的名称,如!=叫“不等于”。
3.在Python中测试新的布尔运算符。在按回车键前你需要说出它的结果。不要思考,凭自己的第一感觉就可以了。把表达式和结果用笔写下来再按回车键,最后看自己做对多少,做错多少。
4.把习题3中写的那张纸丢掉,以后你再也不需要查它了。
常见问题回答
为什么"test" and "test"返回"test",1 and 1返回1,而不是返回True呢?
Python和很多编程语言一样,都是给布尔表达式返回两个被操作对象中的一个,而非True或False。这意味着,如果你写了False and 1,得到的是第一个操作数(False),而非第二个操作数(1),但如果你写的是True and 1,得到的是第二个操作数(1)。多做几个实验。
!=和<>有何不同?
在Python中!=是主流用法,<>将被逐渐废弃,所以你应该使用前者,除此以外没什么不同。
有没有短路逻辑?
有的。任何以False开头的and语句都会直接处理成False,不会继续检查后面的语句。任何包含True的or语句,只要处理到True,就不会继续向下推算,而是直接返回True了。不过,还是要确保你能理解整个语句,因为日后这会很有用。
本文摘自《笨办法学Python 3》
在本书中,你将通过完成52个精心设计的习题来学会Python语言。阅读这些习题,照着录入代码(不要复制和粘贴!),修正自己的错误,观察程序的运行。在这个过程中,你将学会计算机的工作原理,知道怎样的程序才算是好程序,以及如何读、写和思考代码。作者还提供了5个多小时的视频,教你如何破坏、修正和调试代码,整个过程就像一边做题一边直播一样。一开始会很难,但很快你就会上手,并且会感觉很棒!
本书适合以下人群阅读
● 零编程经验的初学者
● 了解一两门编程语言的初级人员
● 多年未写过代码的转岗专业人员
● 有丰富的编程经验,想通过快速、简单的速成课程了解Python 3的专业人员
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~