乌龟编程精讲版-64

编程属于下一代

在Python的IDLE里专门有个“Turtle Demo”——里面全是用turtle模块制作的一些图片或动画,很有意思的实例。跟着我逐步理解Python编程的方法之后,我们就能理解这些代码了。今天给大家介绍里面的一个实例——用鼠标自由画画的小程序,就像我们的小画板。用鼠标代替画笔!很简单也很有趣。

如何找到本节介绍的TurtleDemo——Help->TurtleDemo-->Examples-->paint

看看我画的万圣节的南瓜怪有点丑!

其实不到20行的代码就写出了一个这样的小程序。左边的部分就是代码了。我们把代码烤出来,放到一个文件里,然后我修改了下程序,主要是为了和我写代码的习惯(也是我教大家的代码风格)相符。修改后的代码如下:

自由小画板程序代码

代码虽然短,但是包含了许多我们在之前讲过的一些特性。如“鼠标响应”——就是当你在画板上点击鼠标的时候会执行响应的动作。还有“列表”的应用。

我们是这样画画的:点击鼠标左键——移动“小乌龟”到你点击的地方去;点击鼠标中键(或滚轮)——切换画线的颜色;点击鼠标的右键——切换“提笔”和“落笔”。

所以我们需要3个“动作”函数——移动“小乌龟”的函数,我们用goto()由于turtle自带了,就不用我们再写了;改变颜色的函数,我们设计了一个叫做changecolor的函数,专门用来实现这个;切换提笔落笔的函数,我们设计了一个名字叫做switchupdown的函数。

然后用turtle中专门处理鼠标点击的函数onscreenclick来绑定这3个函数(这就是上面代码的32、34、36行了)。

看着上面的代码,调用onscreenclick函数时所用的参数说明一下:第一个参数是要绑定的函数的名字(上面一看便知);第二个参数怎么有的是1,有的是2,有的是3呢?简单说:“1”——点左键;“2”——点中间键;“3”——点右键,明白了?

changecolor函数有点意思,你可以看下代码它是怎么实现colors列表里的几种颜色从第1个到最后一个循环切换呢?对了,用了“切片”的方法(我们之前也讲解过)。

切片的意思就是“切一部分colors列表里的东西”,切了2块,第1块是后三个东西;第2块是第一个东西;然后将两块“+”在一起,这样原来列表的第二个东西“green”就变成新列表里的“第一个”了,最后用color[0]提取出第一个!是不是很奇妙?

用“切片”循环颜色顺序

好了,理解了上面的代码,我们可以开始运行程序了。小小画板出现在你的面前,开始画出你心目中的画面吧!

代 码 词 典

Code Vocabular

import

美[ˈɪmpɔ:rt]vt.输入,进口

switch

美[swɪtʃ]vt.转换; 转变

screen

美[skrin]n.屏幕; 银幕

change

美[tʃendʒ]vt.改变,变更

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181103G07VCC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券