查看原文
其他

如何教小朋友编写第一个程序?

极客宝宝 极客宝宝 2019-04-08

【极客宝宝 编者按】孩子们是如何开始第一个编程程序的呢?你还以为是“Hello World”吗?Out啦,做一个憨头憨脑可爱的小海龟可以作为孩子们的“Hello World”启蒙程序哦!

下面我们一起来看看如何教孩子实现吧。

Python 有一个海龟库,又称海龟模块,用于制作有趣的图形。库里有只完全听指挥的小海龟,我们只要给它编程发号施令,它就会跟着指令画画。 


01 指挥海龟画正方形 


我们先从简单的任务开始,指挥小海龟画个正方形,如图所示: 

Python 海龟绘制正方形 

打开 IDLE 编辑器,新建 Python 文件(Shell 窗口:【File】-【New File】),给文件起个有意义的名字,保存到你的 Python 学习文件夹里(编辑器窗口:【File】-【Save As…】)。 

若要调用海龟模块,首先需要编写 import turtle,然后用 turtle.Pen()让海龟现身,给它起个名字,我的海龟就叫 tony,你可以给你的海龟起其他任意名字。 

import turtle
tony = turtle.Pen()

尝试运行这两行代码,小海龟现身了,但我们并没让它做其他的任务,所以它现完身程序就结束了。要想让小海龟画正方形,我们可以先思考它的算法是什么,然后编写出来。 

确定好算法,我们可以开始编写程序。下面是一系列可以给小海龟下的指令。 

我们用 tony.forward(100)和 tony.right(90)为指令,组合出让小海龟画正方形的程序。 

画正方形 

1.导入 turtle 模块 

2.给海龟起名为 tony 

3.向前走 100 步 

4.向右转 90 度 

5.向前走 100 步 

6.向右转 90 度 

7.向前走 100 步 

8.向右转 90 度 

9.向前走 100 步 

10.向右转 90 度 

import turtle 
tony = turtle.Pen() 
tony.forward(100)
tony.right(90
tony.forward(100
tony.right(90
tony.forward(100
tony.right(90
tony.forward(100
tony.right(90)

点击【Run】-【Run Module】执行程序,就可以看到图 2- 1 中小海龟画的正方形了。 


02 指挥海龟画八边形 


根据画正方形的经验,尝试画如下图的正八边形:

 

Python 海龟绘制八边形 

程序员通常比较懒,但这种懒有好处,他们总在寻求以最快的方式完成任务,提高效率。为了不用重新写代码,程序员们可是想了许多种办法,后面我们会一一了解。能够在过去的解法里找出规律,套用到新的问题上,是一个重要的技能。让我们根据画正方形的解法,画八边形。首先,我们可以思考一下画八边形和正方形的主要区别,比方说旋转的角度有什么区别? 

画八边形的解法和正方形基本类似,主要区别如下: 

  • 旋转的角度不同,需从 90 度改成 45 度 

  • 要画 8 条线,画线和旋转的次数从 4 次变成 8 次 

基于正方形的代码,我们只要针对上面的区别修改一下就可以画出八边形。 

下面就来尝试一下画正八边形吧! 

1.导入 turtle 模块 

2.给海龟起名为 tony 

3.向前走 100 步 

4.向右转 45 度 

5.向前走 100 步 

6.向右转 45 度 

7.向前走 100 步 

8.向右转 45 度 

9.向前走 100 步 

10.向右转 45 度 

11.向前走 100 步 

12.向右转 45 度 

13.向前走 100 步 

14.向右转 45 度 

15.向前走 100 步 

16.向右转 45 度 

17.向前走 100 步 

18.向右转 45 度 

import turtle 
tony = turtle.Pen() 
tony.forward(100
tony.right(45
tony.forward(100
tony.right(45
tony.forward(100
tony.right(45
tony.forward(100
tony.right(45
tony.forward(100
tony.right(45
tony.forward(100
tony.right(45
tony.forward(100
tony.right(45
tony.forward(100
tony.right(45)

写好代码后点击【Run】-【Run Module】测试程序。 


03 省力气的循环 


我们八边形的代码中有许多重复的地方。tony.forward(100)和 tony.right(45)各重复了 8 次。聪明而懒惰的程序员们希望减少重复的代码。电脑的一大优点就是能帮我们完成重复性很高的工作,重复写同样的句子多没效率呀。因此,程序员们设计了循环语句,帮我们自动重复某些指令。 

参考下面的代码,使用 for 循环,让 tony.forward(100)和 tony.right(45)这组动作自动重复8 次。

1.导入 turtle 模块 

2.给海龟起名为 tony 

3.重复下面的代码 8 次: 

1)向前走 100 步 

2)向右转 45 度 

import turtle 
tony = turtle.Pen() 
for i in range(8): 
->tony.forward(100
->tony.right(45)

我们的代码越来越复杂,许多代码前面有空格,这个空格叫“缩进”。可以通过按 4 下空格键进行缩进或者点击 Tab 键进行缩进。同样缩进的代码为一组,我们称这些组合在一起的代码为“代码块”。 

在大段的代码里,我们将使用箭头->表示缩进。一个箭头->表示一级缩进,两个箭头->->表示二级缩进。 

小贴士:循环语句 

这个 for 循环将打印“早上好”8 次:

for i in range(8): 

以上内容均来自周安琪编著的《少博士趣学Python》:

《少博士趣学Python》是一本编程与科技结合的启蒙书籍,全书从简单的小示例入手,介绍核心编程概念,并通过多个简单、有趣的编程案例,启发初学者探索身边的科技。例如,编写聊天机器人、扫地机器人、数学试卷机器人、绘图软件、密码程序等。书中不仅讲解了Python语法,还通过编程示例,给青少年读者以信息世界的启蒙。

学Python?想编写实用的程序?没有编程经验?

没问题,选择这本书就够了!

无须编程基础、入门级的Python编程书!

72个实例

自动驾驶、桌面便利贴、绘图软件、

聊天机器人、心里测验、

笑话制造机、扫地机器人等 

75个编程练习  

20+个编程相关小贴士

附赠 19个配套教学视频

现在送福利了!

极客宝宝(ID:geek_baby)联合电子工业出版社博文视点专门准备了5本《少博士趣学Python》,免费赠送给大家。

评奖规则:

  1. 请将本文链接分享到朋友圈,不可分组哦。

  2. 将朋友圈截图发到本公众号后台,按照时间先后选出前五名。

  3. 没有中奖,也不要灰心哦,用户可以点击“阅读全文”前往商城购买。

点击阅读原文,精彩继续。

你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存