python海龟作图不用循环_Python的视觉艺术家:PyTurtle的绘画艺术第一讲

海龟绘图很适合用来引导孩子学习编程。 最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 LOGO 编程语言。

请点击右上角“关注”按钮关注我们哟:跟着木辛老师学习Python编程知识,变身快乐的编程达人吧~

在接下来的几节课中,我们将通过使用turtle模块编写一些简单的程序来创建漂亮、复杂的视觉效果。

这个turtle模块我们暂且叫:小海龟吧。

这个小海龟呀,是一个虚拟的、不存在的,它只是屏幕上的一个小三角,就像带着一支钢笔一样,它无论走到哪里都会使用这个钢笔来绘制线条。就让我们呢来试一试吧!

使用小海龟作图到底有多简单呢?我们不仅能够只用几行代码就创建出非常绚丽的视觉效果,还可以跟随小海龟看看每行代码如何让它移动的。

海龟绘图最初来自Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 LOGO 编程语言。这是一个旨在帮助小朋友们快速接触编程,快速学习编程的项目。

所以使用小海龟作图能够帮我们迅速理解代码逻辑,快速掌握编程思想。

两个例子

为了验证我们刚才说的:简单的程序创建复杂且漂亮的视觉效果,我们试试几个例子吧

5f978345c961e7f2abf021725b7bda77.png

python turtle编程第一个例子

咱们运行下看看效果吧

10488d5c236e913415587f658ba355f0.gif

python turtle编程第一个例子运行效果

咱们使用了9行代码就完成了如此绚丽的图形效果,小朋友是不是很惊讶呀?

那咱们再来看一看另一个例子哈

288c7b121719002527f77e7d6e72ec5e.png

python turtle编程第2个例子

这个例子的代码稍微多一点,那实现的效果也会比较复杂,在这里木辛老师就不贴出效果图。有兴趣的小朋友们可以去看看:《Python艺术家:PyTurtle》里的《Python编程中的艺术家:python turtle 第7集》代码的效果吧。

程序如何工作

看了这么多绚丽多彩的视觉图形,大家想不想深入的了解他们,看看这些程序是怎么工作的呀?

下面呢,木辛老师就带着大家一起仔细的分析下程序吧

我们先从第一个实例开始:

import turtlestar = turtle.Turtle()for i in range(50): star.forward(50) star.right(144)turtle.done()

第一行,导入(import)了绘制小海龟图形的功能。这里就用到了咱们之前讲过模块的知识

传送门:Python小课堂第16课:只需要10分钟教会你怎样使用编程中的模块

这里导入的就是已经编写好了的代码,这是编程工作最让人激动的一个事情了。

如果我们编写了一些很有意思并且很有用的代码,可以把他分享给其他的人,同时也可以自己重用它。

当我们使用

import turtle

的时候,就表示我们的程序能够使用Python程序员编写的模块了。

在实例效果图或者视频中,大家看到的小小的黑色箭头就是咱们可爱的小海龟了!它在屏幕上移动的时候就会使用钢笔进行绘画了。

接下来一行

star = turtle.Turtle()

是告诉计算机,我们将要使用star这个变量做小海龟的实例。这样,我们在后续调用小海龟作图的动作的时候,只需要使用star直接唤起对应方法就可以。就可以控制小海龟在屏幕上移动,并使用钢笔进行绘图了。

然后就是一个for循环的代码块,这个for循环需要遍历50次,也就是说for循环的代码块里的代码会被执行50次呢。

传送门:Python小课堂 第十课之转呀转 转圈圈咱们可以进入之前课程再复习一下for循环的知识

在这里,木辛老师再换一个角度讲一下:

这句代码

for i in range(50):

说明,我们创建了一个循环(loop),他会重复的执行一组指令(一次又一次,一遍又一遍地循环这些代码行)。

3788367ca03d1d30796ada31fa2f3808.png

这个特定的循环使用range()函数设定了一个范围,其中包含0~49,总共50个数字(计算机总是从0开始计数的!)。

在这个循环中,字母i遍历了范围中的每一个数字。因此i从0开始,然后变为1, 然后是2,以此类推,直到49为止,一共会执行50个步骤。

在这里,我们把i叫做变量(variable)。变量存储了在程序进行的过程中可以修改的一个值。

在接下来,我们看到了代码缩进,这种编程风格是Python独有的,这个缩进之后的代码块,就是要被for循环遍历的一个部分了。

在该循环中,这些代码会被执行50次;每次i从0~49的范围中获取一个新的数字的时候,这个代码块都会被执行一遍,直到达到50次。

木辛博士说

LOGO编程语言创建于1967年,这是一种教育用编程语言,在50年之后的今天,它仍然用来教授基本的编程,也是小朋友们比较喜爱的一种编程语言。简单易学,效果炫酷。是不是呀?

发生了什么

咱们现在进入for循环的代码块看看究竟吧。

star.forward(50)

命令forward(x)会让咱们的小海龟的钢笔在屏幕上向前移动x个点;也就是说,咱们这个语句会让小海龟向前移动50个点。

然后紧接着,

star.right(144)

咱们命令小海龟向右转144°。

由于这是一个for循环,程序继续运行并且回到了循环的开始位置。

计算机将i加上1之后,又重新执行刚才的语句,直到循环结束。

最后一句代码的意思很明显了,就是告诉小海龟:咱们的工作做完了,可以休息了。

这样,我们第一个例子就讲完了;小朋友们想一下,这个例子有没有可以改进的地方呀?

稍微改进了一下

咱们的第二个例子的大体逻辑和第一个例子很像,但是做出来的效果比第一个例子还要炫酷。

咱们只是在其中的两个地方做了一点点手脚

painter.pencolor("blue”)

这一句代码的意思是我们让小海龟将钢笔的颜色改成了蓝色。从此,小海龟路过的地方,绘制出来的图形就都是蓝色的了,是不是很有意思呀?

我们今天的课程就先到这里了,大家是不是又收获了一些非常有意思的知识呀?

下节课呢,我们会再深入的讲解一些新的编程思路,也会给大家演示一些更加绚丽和好玩的视觉效果。大家会更深入的了解到我们的小海龟。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值