一切的开始:父与子的编程之旅学习笔记(1)2018-07-08
从标题就能看出,这本书的受众包含了孩子,为了易于让孩子理解,因此书本的编排、措辞与例子、练习等,都比较浅显易懂。适合对编程感兴趣的,真正意义上的零基础编程者。拿到这本书后短短3小时内便让我惊叹,编程原来也能这么好玩!另外学习的过程中,也有一些自己的思考,那就在这里记录下来吧。
我是用的是mac系统,界面和操作流程会与windows和unix系统有区别。
另外推荐廖雪峰的python教程,适合有一定自学能力的学习者。
前言
1. 什么是编程?
编程就是告诉计算机要做什么。
2. 什么是Python?
它是我们和计算机沟通的语言(之一)。
3. 你需要什么?
一本《父与子的编程之旅》,一台计算机,能上网(用以下载python和查询相关问题),以及最重要的,不轻易放弃的个性。
4. 怎样使用本书?
(1)验证例子
(2)输入程序——没错,一个字一个字地输入
(3)做习题
(4)遇到问题时放轻松
第一章:出发吧
1. 安装Python及启动IDLE:我用的是mac系统,自带python2.7,因此在终端输入以下语句便可以启动IDLE了:
python2.6 -c "from idlelib.PyShell import main;main()"
2. 运行第一个程序:使用print指令
3. 运行第二个程序:猜数游戏
唠叨一下:这个游戏极大的调动起了我学习程序的积极性,因为调用了random产生随机数,所以输入代码并运行后,就是一个实打实的随机数游戏,我和爱人玩的不亦乐乎!实在是非常好的编程教学案例。
猜数字程序代码,图中的中文是粘贴进去的,在idle中输入不了 猜数字程序在Shell中运行,好玩!这个程序中的input语句和print语句很好的起了提醒用户输入的作用,交互感较强,在第二章和第三章的练习中,我都用了类似的语句来编写程序。
第二章:记住内存和变量
毕竟是写给孩子看的书,要是一开始就照本宣科地介绍内存和变量的定义,估计没几个孩子能听得进去。那么这本书是怎样解释这些概念的呢?
2.1 输入、处理和输出
以上一个猜数游戏为例子来看:
(1)输入:就是玩家键入的数,ta想猜的数字
(2)处理:程序检查玩家猜的数,并统计已经猜过几次
(3)输出:程序最后打印的消息
2.2 变量=名字+内容,内存=存储变量的地方
注:(1)teacher与Teacher是不同的名字(自然也是不同的变量)
(2)假如number1 = 5, number2 = 3,那么number1 + number2 = 8;
但是number1 = “5”, number2 = “3”,那么number1 + number2 = 53,
因为加了双引号后,赋值的内容便不再是“数字”,而是“字符串”。
(3)善用变量能加快效率,但也要在以后的编程中小心变量会带来bug。
第三章:基本数学运算
3.1 如何用Python完成基本的数学运算?
Python与所有的编程语言一样,都遵循基本的运算规则,要是想先算低级运算,也是要加括号。需要注意的是:指数运算先于乘除法,乘号是*,除号是/。
3.2 什么是整数和浮点数?
一个简单的例子:5/3 = 2, 但输入5.0 / 3, 得数则是1.6666...7
这里的分别是,前者用了整数除,后者用了浮点数来除,相当于告诉计算机“给我小数的答案吧~”
3.3 如何求幂?
假如要求3的3次方,之前我都是用3^3来求;而在python中,“^”这个运算符有不同的意思,所以不能用(虽然有时候会得出正确的答案)。
那么应该用什么呢?就是用两次乘号**。另外两次乘号求幂还有一个很好的特点:它可以求非整数的指数,甚至可以求负数的指数:
使用**求幂3.4 如何求余数?
首先我们先看看如何求商:print number1 / number2
然后求余数需要用到%这个运算符,得出的数字就是余数本身:
print number1 % number2
因此可以编写一个自动求商和余数的程序:
自动求商和余数的程序 无论是什么情况,遇到除式都要注意整数和浮点数的区别在此基础上,编写了一个在餐厅求AA制的程序(含小费):
请忽略我不地道的表达。。结果如下:
还是蛮有成就感的!通过这一章,很能体会“真实世界发生的问题”,通过“程序思维”,一步步地去解决。应该说前面三章的内容还是比较简单的,接下来的笔记应该不会这么详细地记录了,祝愿看到这里的你,也能体会到我学习过程中的欢快与愉悦!咱们下次见^v^