笨办法学Python(二十七)

习题 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

现在使用这些表格创建你自己的卡片,再花一个星期慢慢记住它们。记住一点,这本书不会要求你成功或者失败,只要每天尽力去学,在尽力的基础上多花一点功夫就可以了。

时间: 2024-08-08 22:07:19

笨办法学Python(二十七)的相关文章

笨办法学Python(十七)

习题 17: 更多文件操作 现在让我们再学习几种文件操作.我们将编写一个 Python 脚本,将一个文件中的内容拷贝到另外一个文件中.这个脚本很短,不过它会让你对于文件操作有更多的了解. 1 from sys import argv 2 from os.path import exists 3 4 script, from_file, to_file = argv 5 6 print "Copying from %s to %s" % (from_file, to_file) 7 8

笨办法学Python 练习13和14

原题: 1 from sys import argv 2 3 script, first, second, third = argv 4 5 print "The script is called:", script 6 print "Your first variable is:", first 7 print "Your second variable is:", second 8 print "Your third variabl

笨办法学 Python (Learn Python The Hard Way)

最近在看:笨办法学 Python (Learn Python The Hard Way) Contents: 译者前言 前言:笨办法更简单 习题 0: 准备工作 习题 1: 第一个程序 习题 2: 注释和井号 习题 3: 数字和数学计算 习题 4: 变量(variable)和命名 习题 5: 更多的变量和打印 习题 6: 字符串(string)和文本 习题 7: 更多打印 习题 8: 打印,打印 习题 9: 打印,打印,打印 习题 10: 那是什么? 习题 11: 提问 习题 12: 提示别人

笨办法学Python(二十九)

习题 29: 如果(if) 下面是你要写的作业,这段向你介绍了"if语句".把这段输入进去,让它能正确执行.然后我们看看你是否有所收获. 1 people = 20 2 cats = 30 3 dogs = 15 4 5 6 if people < cats: 7 print "Too many cats! The world is doomed!" 8 9 if people > cats: 10 print "Not many cats!

笨办法学Python(二十五)

习题 25: 更多更多的练习 我们将做一些关于函数和变量的练习,以确认你真正掌握了这些知识.这节练习对你来说可以说是一本道:写程序,逐行研究,弄懂它. 不过这节练习还是有些不同,你不需要运行它,取而代之,你需要将它导入到 python 里通过自己执行函数的方式运行. 首先以正常的方式 python ex25.py 运行,找出里边的错误,并把它们都改正过来.然后你需要接着下面的答案章节完成这节练习. 你应该看到的结果 这节练习我们将在你之前用来做算术的 python 编译器里,用交互的方式和你的.

笨办法学Python(二十八)

习题 28: 布尔表达式练习 上一节你学到的逻辑组合的正式名称是"布尔逻辑表达式(boolean logic expression)".在编程中,布尔逻辑可以说是无处不在.它们是计算机运算的基础和重要组成部分,掌握它们就跟学音乐掌握音阶一样重要. 在这节练习中,你将在 python 里使用到上节学到的逻辑表达式.先为下面的每一个逻辑问题写出你认为的答案,每一题的答案要么为 True 要么为 False.写完以后,你需要将python 运行起来,把这些逻辑语句输入进去,确认你写的答案是否

笨办法学Python(二十六)

习题 26: 恭喜你,现在可以考试了! 你已经差不多完成这本书的前半部分了,不过后半部分才是更有趣的.你将学到逻辑,并通过条件判断实现有用的功能. 在你继续学习之前,你有一道试题要做.这道试题很难,因为它需要你修正别人写的代码.当你成为程序员以后,你将需要经常面对别的程序员的代码,也许还有他们的傲慢态度,他们会经常说自己的代码是完美的. 这样的程序员是自以为是不在乎别人的蠢货.优秀的科学家会对他们自己的工作持怀疑态度,同样,优秀的程序员也会认为自己的代码总有出错的可能,他们会先假设是自己的代码有

笨办法学Python(二十一)

习题 21: 函数可以返回东西 你已经学过使用 = 给变量命名,以及将变量定义为某个数字或者字符串.接下来我们将让你见证更多奇迹.我们要演示给你的是如何使用 = 以及一个新的 Python 词汇return 来将变量设置为"一个函数的值".有一点你需要及其注意,不过我们暂且不讲,先撰写下面的脚本吧: 1 def add(a, b): 2 print "ADDING %d + %d" % (a, b) 3 return a + b 4 5 def subtract(a

笨办法学Python(三十二)

习题 32: 循环和列表 现在你应该有能力写更有趣的程序出来了.如果你能一直跟得上,你应该已经看出将"if 语句"和"布尔表达式"结合起来可以让程序作出一些智能化的事情. 然而,我们的程序还需要能很快地完成重复的事情.这节习题中我们将使用 for-loop (for 循环)来创建和打印出各种各样的列表.在做的过程中,你会逐渐明白它们是怎么回事.现在我不会告诉你,你需要自己找到答案. 在你开始使用 for 循环之前,你需要在某个位置存放循环的结果.最好的方法是使用列表