习题 27: 记住逻辑关系 ***************************** 到此为止你已经学会了读写文件,命令行处理,以及很多 Python 数学运算功能。今天,\ 你将要开始学习逻辑了。你要学习的不是研究院里的高深逻辑理论,只是程序员每天都\ 用到的让程序跑起来的基础逻辑知识。 学习逻辑之前你需要先记住一些东西。这个练习我要求你一个星期完成,不要擅自修改\ 日程,就算你烦得不得了,也要坚持下去。这个练习会让你背下来一系列的逻辑表格,\ 这会让你更容易地完成后面的习题。 需要事先警告你的是:这件事情一开始一点乐趣都没有,你会一开始就觉得它很无聊乏味,\ 但它的目的是教你程序员必须的一个重要技能——一些重要的概念是必须记住的,一旦你明白了\ 这些概念,你会获得相当的成就感,但是一开始你会觉得它们很难掌握,就跟和乌贼摔跤一样,\ 而等到某一天,你会刷的一下豁然开朗。你会从这些基础的记忆学习中得到丰厚的回报。 这里告诉你一个记住某样东西,而不让自己抓狂的方法:在一整天里,每次记忆一小部分,\ 把你最需要加强的部分标记起来。不要想着在两小时内连续不停地背诵,这不会有什么好\ 的结果。不管你花多长时间,你的大脑也只会留住你在前 15 或者 30 分钟内看过的东西。 取而代之,你需要做的是创建一些索引卡片,卡片有两列内容,正面写下逻辑关系,反面写下\ 答案。你需要做到的结果是:拿出一张卡片来,看到正面的表达式,例如 "True or False",\ 你可以立即说出背面的结果是 "True"!坚持练习,直到你能做到这一点为止。 一旦你能做到这一点了,接下来你需要每天晚上自己在笔记本上写一份真值表出来。\ 不要只是抄写它们,试着默写真值表,如果发现哪里没记住的话,就飞快地撇一眼\ 这里的答案。这样将训练你的大脑让它记住整个真值表。 不要在这上面花超过一周的时间,因为你在后面的应用过程中还会继续学习它们。 逻辑术语 =============== 在 python 中我们会用到下面的术语(字符或者词汇)来定义事物的真(True)或者假(False)。\ 计算机的逻辑就是在程序的某个位置检查这些字符或者变量组合在一起表达的结果是真是假。 * ``and`` 与 * ``or`` 或 * ``not`` 非 * ``!=`` (not equal) 不等于 * ``==`` (equal) 等于 * ``>=`` (greater-than-equal) 大于等于 * ``<=`` (less-than-equal) 小于等于 * True 真 * False 假 其实你已经见过这些字符了,但这些词汇你可能还没见过。这些词汇(and, or, not)和你\ 期望的效果其实是一样的,跟英语里的意思一模一样。 真值表 ================ 我们将使用这些字符来创建你需要记住的真值表。 ========= ===== NOT True? ========= ===== not False True --------- ----- not True False ========= ===== ============== ===== OR True? ============== ===== True or False True -------------- ----- True or True True -------------- ----- False or True True -------------- ----- False or False False ============== ===== =============== ===== AND True? =============== ===== True and False False --------------- ----- True and True True --------------- ----- False and True False --------------- ----- False and False False =============== ===== ==================== ===== NOT OR True? ==================== ===== not (True or False) False -------------------- ----- not (True or True) False -------------------- ----- not (False or True) False -------------------- ----- not (False or False) True ==================== ===== ===================== ===== NOT AND True? ===================== ===== not (True and False) True --------------------- ----- not (True and True) False --------------------- ----- not (False and True) True --------------------- ----- not (False and False) True ===================== ===== =============== ===== != True? =============== ===== 1 != 0 True --------------- ----- 1 != 1 False --------------- ----- 0 != 1 True --------------- ----- 0 != 0 False =============== ===== =============== ===== == True? =============== ===== 1 == 0 False --------------- ----- 1 == 1 True --------------- ----- 0 == 1 False --------------- ----- 0 == 0 True =============== ===== 现在使用这些表格创建你自己的卡片,再花一个星期慢慢记住它们。记住一点,这本书不会要求你\ 成功或者失败,只要每天尽力去学,在尽力的基础上多花一点功夫就可以了。