- Python快乐编程:中学学科创意编程实例
- 方其桂主编
- 1051字
- 2025-02-17 20:26:56
第2课 几何图形我会画——设置小海龟属性

扫一扫,看视频
还记得动画片《聪明的一休》里的晴天娃娃吗?它是一种悬挂在屋檐上祈求晴天的布偶,任务是扫去阴霾,迎来晴天。怎么样,很可爱吧?让我们指挥小海龟画一个吧!

研究室
1.理解题意
本课案例由两个几何图形组成:一个圆形、一个等边三角形。将这两个图形拼接在一起,就组成了可爱的晴天娃娃。

2.开动脑筋
仔细观察上页图,我们需要指挥小海龟绘制出两个几何图形。那么小海龟应从哪里出发,先绘制哪个图形呢?请开动脑筋,思考并回答下面的问题。

规划院
1.思路分析
turtle库是Python语言中用于绘制图形的函数库。调用它后就会出现一个小海龟,你可以指挥这只小海龟绘图。小海龟一开始在坐标系原点(0, 0)的位置,程序指令可以控制小海龟移动,让它在平面坐标系中绘制出图形。
通过对图形的分析,小海龟先从坐标系原点出发,沿逆时针方向绘制一个圆。接着小海龟改变前进方向和画笔颜色,再绘制一个等边三角形。我们需要对小海龟画圆的半径及三角形的边长、旋转的角度、画笔的颜色等参数进行分析,才能编写出具体的程序。

2.算法描述
要想完成案例图形的绘制,首先要导入小海龟模块,然后设置画笔的粗细与画笔的颜色等参数,再编写程序代码,使小海龟绘制线条,最后组成图形。

在Python语言中,我们可以用下面的算法流程图来表示以上思路分析。

加工坊
1.编 程实现

2.测试程序

3.答疑解惑
在程序中设置小海龟的属性参数时,要注意下图所示的易错点。

4.优化程序
小海龟绘图没有规定路线,你可以按照自己的作图习惯来指挥它。所以你也可以让小海龟先转向绘制等边三角形,然后再转向画圆,同样能绘制出本案例的图形。
为避免多次出现的特定关键词turtle输入出错,我们可以创建一个新的画布,并定义小海龟的小名为t。这样在后面的语句中,就不用反复输入turtle,而可以直接用t来代替了。加之turtle模块中的部分指令可以用简写的形式,这样程序代码看上去就更简洁明了了。优化后的程序代码如下图所示。

阅览室
1. turtl e小海龟绘图模块
在Python语言中,可以调用turtle模块快速绘制出图形。根据函数指令的控制,小海龟从一个横轴为x轴、纵轴为y轴的坐标系原点—(0,0)的位置开始,在这个平面坐标系中移动,它爬行的路径即绘制的图形。

2.turtle小海龟模块指令
Python小海龟模块提供了很多指令,这些指令的作用与其名字的意思基本相同,跟Logo语言中的小海龟模块指令非常相似,所以很好理解。常用的Python小海龟模块指令及其作用如下表所示。

续表

创新园
1.阅读程序写结果
根据所给的程序,在下方的平面坐标系中绘制出相应的图形。

2.修改程序
下图所示为绘制一个五角星的程序,其中标号处有错误,请改正。
