如何教小朋友编写第一个程序?
【极客宝宝 编者按】孩子们是如何开始第一个编程程序的呢?你还以为是“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》,免费赠送给大家。
评奖规则:
请将本文链接分享到朋友圈,不可分组哦。
将朋友圈截图发到本公众号后台,按照时间先后选出前五名。
没有中奖,也不要灰心哦,用户可以点击“阅读全文”前往商城购买。