当前位置:   article > 正文

python turtle绕原点旋转_「加德老师与小朋友们的编程之旅」Python海龟作图(上)

turtle文字旋转

加德老师寄语:

小朋友们,家长朋友们,大家好!

【加德老师与小朋友们的编程之旅】今天迎来第二节课——用python进行海龟作图(上)

Python被誉为现今人工智能第一语言,适合9岁以上孩子进行编程入门学习。英语是通向全球的语言,编程是通向未来的语言,加德老师与大家一起开启未来世界的大门。

模式:一共30次教学推文,即30次课程。带领小朋友们零基础学习python编程,后期组建相应学习社群,更高效帮助孩子编程入门。

课前回顾

小朋友们,在上次教学推文中,加德老师带大家进行了编程的启蒙。什么是编程,为什么学习编程,认识Python这门神奇的编程语言,并在上面进行了代码编写的展示。用一行“Hello World”打开了大家学习Python这门编程语言的大门。

另外上次的推文发出,加德老师收到了很多家长通过我们公众号发来孩子完成的作业,小朋友们对编程的喜爱让加德老师感到十分欣喜。

在进入本节课之前,相信大家都已经在自己的电脑上安装好了Python和Pycharm这两个进行编程的工具。

Python海龟作图

在本节中,加德老师将用Python编写简短的、简单的程序来创建漂亮的、复杂的视觉效果。为了做到这一点,我们可以用海龟进行作图。

86496092af079c29f615213694f3f6fb.png

那什么是海龟呢?海龟(turtle)是Python中的一个库,小朋友们可以把海龟(turtle)看成一个画笔盒,这个画笔盒就叫海龟画笔盒,里面有很多可以供小朋友们调用的画图工具。我们可以通过海龟画笔盒里的各种工具绘制出令人惊奇的图片。

第一个海龟程序

01、极简海龟程序


现在就让我们用海龟画笔盒来编写第一个程序,在Pycharm编辑器中输入如下的代码

import turtlet = turtle.Pen()for x in range(100):   t.forward(x)   t.left(45)

当我们运行这段代码的时候,会得到如下一幅长的像蜂巢的漂亮整齐图片。

9b17a9bd93c3b4e1c6f452bf819d764e.png

那么这个一个漂亮的图片是如何形成的呢?现在加德老师来为小朋友解读一下上面的程序。

02、解读程序

第一行导入(import)绘制海龟作图的功能。加德老师给小朋友们讲的形象一点哈。刚才我们讲到可以用海龟画笔盒(turle)进行画图,我们画图首先就是要拿到这个画笔盒,这样才能进行绘制。那么我们怎么样拿到这个海龟画笔盒呢?这时候就需要用到import这个功能啦,import的中文意思是导入,当我们输入了import turtle,就表示我们的程序能够使用海龟画笔盒里的各种工具啦。

程序的第二行是t=t.turtle.Pen(),首先等号的右边,它的意思很好理解,就是我们调用了海龟画笔盒里的Pen(钢笔),另外等号的左半边就是告诉计算机,我们将使用字母t表示海龟的钢笔。这么设置是为了之后写程序变的更加简易快捷。之后我们用到turtle.Pen()就直接用t代替就可以啦。

第三行的代码最为复杂。在这里,我们创建了一个循环,即它可以重复一组指令很多次(一次又一次的循环这些代码行),这个特定的循环设置了一个范围(range),上方代码中range(100)是指x从0-99的100个数字中进行遍历(计算机几乎总是从0开始计数,而不是像我们那样通常从1开始)。因此,x(x是变量,变量储存了在程序进行的过程中可以修改的一个值)从0开始遍历,然后变为1,然后是2,以此类推,直到99,一共100个步骤。


接下来的两行代码缩进了(这里的缩进不是缩进一格,而是敲击一下键盘上的Tab键缩进4格)。这意味着这两行代码位于上面的循环之中,每次x从0-99的范围内获取一个新的数字的时候,这两行代码都会重复,直到达到100次。


现在加德老师来解读循环中的这两行代码。t.forward(x),之前提到过,t就是海龟画笔盒中钢笔(turtle.Pen())。那么这行代码就是调用了钢笔中的向前移动功能,让海龟画笔盒中的钢笔在屏幕上向前移动x个点。在一开始,因为x是0,钢笔根本不会移动,但随着x越来越大,每次钢笔移动的幅度也会随之慢慢变大。

ad83879319b27d5c5e2ebba316d94925.png

(向前移动9实例)

t.left(45)这行代码的意思就是调用海龟画笔盒中left(向左转)这个工具进行画图,t.left(45)就是钢笔向左旋转45度。

就是这样一次一次地执行,当x到达99,即循环的最后一次运行,钢笔围绕着这个类似蜂巢结构的外围画了一条长长的线条,就形成了上面这样一个漂亮的图片哈。小朋友们觉得编程是不是很神奇呀。

变幻的海龟

01、修改数值引起的变化

现在让我们试着改变程序中的某个数值,来看看画出的图案会有怎么样的改变吧。

import turtlet = turtle.Pen()for x in range(100):    t.forward(x)    t.left(55)


大家可以看到,这个程序只是最后一行修改为了t.left(55),比之前第一个程序多转了10度,那么这样的改变,我们的图形又会做出怎么样的改变呢?小朋友们请看下图

5a0eaa594c580e8f28d4e8c16546eea0.png

可以看到,通过数值的修改,图形变成了上面的形状,这个图案看上去像不像一个的万花筒呢?小朋友们也可以将我们的代码数值进行相应修改,看看你们画出来的是什么样的图形哦。

02、给图形添加颜色

上面的图片万花筒的样子很好看,但是,如果能够给它们添上一些颜色,是不是会更加更酷更炫,更加一个万花筒呢?

让我们回到第二个万花筒代码,在t = turtle.Pen()这一行的后面再添加一行代码,从而将颜色设置为红色。

import turtlet = turtle.Pen()t.pencolor("red")for x in range(100):    t.forward(x)    t.left(55)

让我们来运行该程序,我们将会看到一个红色的万花筒,如下图所示:

0b45ee5d0b783e57089dd22789f6446e.png

这样一个万花筒是不是要比第一个漂亮呢?上面代码中的pencolor就是钢笔的颜色,pencolor("red")的意思就是调用海龟画笔盒中红色的那支钢笔。但是加德老师还是不满意,因为这个是万花筒,一种颜色怎么够呢?那就让我们来挑战更高的难度吧。

03、一个四色万花筒

现在加德老师带大家来画一个更加酷炫的四色万花筒,这是今天课程中最难的一个点,小朋友们有没有准备好接受挑战呢?

再画四色万花筒之前,加德老师先带小朋友们认识一下算法(algorithm)。算法就是一系列的步骤,它可以将单色的螺旋线变为4色的螺旋线。大多数的步骤和之前的螺旋线程序中相同,但是,这里还增加了一些调整:

  • 导入turtle模块并且设置一个海龟
  • 告诉计算机应该使用何种颜色
  • 设置一个循环,绘制旋螺线中的100条线段
  • 为螺旋线的每一边取一种不同的钢笔颜色
  • 向前移动海龟以绘制每一边
  • 将海龟向左转,以准备好绘制下一边


首先,我们需要创建一个颜色名称的列表。这个列表中还有四种颜色,并把这个列表用colors来表示。代码如下:

colors = ["red""blue""green""yellow"]

上面代码的红、蓝、绿、黄组成了我们要绘制万花筒的四种颜色。这里需要注意的是,我们将颜色的列表放在了方括号[ ]内。小朋友们记住了哦,[ ]这个符号就是python中表示列表的符号,大家可以看成是中括号。

现在我们需要做的下一件事情是,每次遍历绘制循环的时候修改钢笔颜色。那么,我们就需要将t.pencolor函数移入到for循环下的一组指令之中,还要告诉pythoncolor函数,我们相应列表中的哪一种颜色。

另外,为了这个万花筒能够呈现更佳的视觉效果,我们现在把图片的背景颜色修改成黑色,这时就需要调用海龟画笔盒中turtle.bgcolor( “black")这个函数了。现在让我们看代码:

import turtlet = turtle.Pen()turtle.bgcolor("black")colors = ["red", "blue", "green", "yellow"]for x in range(100):    t.pencolor(colors[x%4])    t.forward(x)    t.left(55)

4种颜色的列表起作用了,让我们现在看下运行上面代码会绘制出怎么样的图形来。

7e4c3b27cc23116b1a9ae0450f296398.png


怎么样,这个万花筒是不是要比前面两个要漂亮很多呢?

但上面的代码中有一个难点,也就是第6行代码。这行代码中[x%4]叫做取模操作符,表示一次除法运算中的余数。例如6除以4余数为2,7除以4余数为3,以此类推。但我们想要遍历列表中一定数目的项时,比如我们对4种颜色列表所做的操作,取模操作符很有用。

具体的回到上面代码中,例如当x=0时,0除以4,余数是0,那就是取颜色列表中的第0个颜色(列表序列从0开始),也就是红色。当x=1时,1除以4,1除以4,余数是1,那就是取颜色列表中的第一个颜色,也就是蓝色,一次类推遍历100次(从0到99)。那么我们这个万花筒就包含了25条红色,25条蓝色,25条绿色,25条黄色。

好了,本次的课程内容到这里就结束啦!

本章小结

在本章中,加德老师带领小朋友们使用turtle库的工具绘制了令人印象深刻的彩色形状。我们使用import命令把这个库导入到自己的程序中,同时了解到,以这种方式来写程序是编程的最强大的功能之一!

276ffe00ec370635faaa5d69fd5a4290.png

(加德的小可爱)

我们还介绍了程序中像x和sides这样的变量。这些变量储存或记住一个数字或值,以便我们学习变量的作用。变量这个知识点是在我们以后的python运算课程中非常重要的一个知识点。

通过今天的课程 ,我们应该能够做如下事情:

  • 运用import这个命令导入python的各种第三方库
  • 用turtle库绘制简单的图形
  • 使用变量来储存简单的数值和字符串
  • 在Pycharm中修改、运行和保存程序

(以上内容小朋友们在遇到问题需要帮助时,欢迎在父子课堂在线微信公众号进行留言,我们会及时为大家指导)

课后作业

本次作业,加德老师希望小朋友能够用海龟作图完成下方图形的绘制,这其实是一道非常简单的哦,小朋友可以大胆的尝试下。

233cf61849359ce649836be3844bcbeb.png


作业完成后,还是像上次一样,让爸爸妈妈把写好的程序发到微信公众号后台。加德老师等着小朋友们交作业哦。

【加德老师与小朋友们的编程之旅】下节课程:海龟作图——用Python绘图(下)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/874216
推荐阅读
相关标签
  

闽ICP备14008679号