![Python快乐编程:中学学科创意编程实例](https://wfqqreader-1252317822.image.myqcloud.com/cover/586/38493586/b_38493586.jpg)
第2课 几何图形我会画——设置小海龟属性
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image28.jpg?sign=1739547657-U87oR14Y4Aw6QoIRnB0DKRThr62auYnk-0-45d0bc7dc1ea194860e950632c1aec05)
扫一扫,看视频
还记得动画片《聪明的一休》里的晴天娃娃吗?它是一种悬挂在屋檐上祈求晴天的布偶,任务是扫去阴霾,迎来晴天。怎么样,很可爱吧?让我们指挥小海龟画一个吧!
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image27.jpg?sign=1739547657-LnNErM8LRQLbkQneWROAbiYBOSjvTYt2-0-3c6f2f8d19ff7b91549f4d668c28fade)
研究室
1.理解题意
本课案例由两个几何图形组成:一个圆形、一个等边三角形。将这两个图形拼接在一起,就组成了可爱的晴天娃娃。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image26.jpg?sign=1739547657-cGlL6gFpdcvHxf70VfpKHyERgpXL8dvJ-0-987404ce0cede5a96a8dcba49ec6053a)
2.开动脑筋
仔细观察上页图,我们需要指挥小海龟绘制出两个几何图形。那么小海龟应从哪里出发,先绘制哪个图形呢?请开动脑筋,思考并回答下面的问题。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image29.jpg?sign=1739547657-z1W9Gx2sMHYJTPU3DQT0qk9qsmq0wiiI-0-249267f4169d30c66b261929aec48d2d)
规划院
1.思路分析
turtle库是Python语言中用于绘制图形的函数库。调用它后就会出现一个小海龟,你可以指挥这只小海龟绘图。小海龟一开始在坐标系原点(0, 0)的位置,程序指令可以控制小海龟移动,让它在平面坐标系中绘制出图形。
通过对图形的分析,小海龟先从坐标系原点出发,沿逆时针方向绘制一个圆。接着小海龟改变前进方向和画笔颜色,再绘制一个等边三角形。我们需要对小海龟画圆的半径及三角形的边长、旋转的角度、画笔的颜色等参数进行分析,才能编写出具体的程序。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image30.jpg?sign=1739547657-H6dZML2Uuisg4S7vSDXM7Uanq2EL2NCP-0-5eca342f7a6704c16e337c0e3f1a1dc2)
2.算法描述
要想完成案例图形的绘制,首先要导入小海龟模块,然后设置画笔的粗细与画笔的颜色等参数,再编写程序代码,使小海龟绘制线条,最后组成图形。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image31.jpg?sign=1739547657-V0a79zqwgtTOLw7nAteEdshSAzqqsDQO-0-1748753e8bba433fdd83ac7a016dff5a)
在Python语言中,我们可以用下面的算法流程图来表示以上思路分析。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image32.jpg?sign=1739547657-z7EJZwDOSWXKOwcWzGpFKbI9eNzC9gk5-0-a9b96612240795f2bae7673e55317f32)
加工坊
1.编 程实现
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image33.jpg?sign=1739547657-HPFqAoC9Q4sKUpLuhyx3zCWvdBxMHk89-0-56945054a6cbf09540873f29851ab324)
2.测试程序
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image34.jpg?sign=1739547657-hFQKOZZdVvAKWBmwzuQCwo4WfdEOkEz7-0-b8a3141b519719e3e2f50d8b5132268e)
3.答疑解惑
在程序中设置小海龟的属性参数时,要注意下图所示的易错点。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image36.jpg?sign=1739547657-khARqNWuxky8EzM9SQd88wKnXQmdTTHS-0-b7866906d174198615930ddc4af30caf)
4.优化程序
小海龟绘图没有规定路线,你可以按照自己的作图习惯来指挥它。所以你也可以让小海龟先转向绘制等边三角形,然后再转向画圆,同样能绘制出本案例的图形。
为避免多次出现的特定关键词turtle输入出错,我们可以创建一个新的画布,并定义小海龟的小名为t。这样在后面的语句中,就不用反复输入turtle,而可以直接用t来代替了。加之turtle模块中的部分指令可以用简写的形式,这样程序代码看上去就更简洁明了了。优化后的程序代码如下图所示。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image35.jpg?sign=1739547657-tshgowOnmItVwmadyjs4WpcQADgwYzQ3-0-0d90fe6c8721c78675461153820f787a)
阅览室
1. turtl e小海龟绘图模块
在Python语言中,可以调用turtle模块快速绘制出图形。根据函数指令的控制,小海龟从一个横轴为x轴、纵轴为y轴的坐标系原点—(0,0)的位置开始,在这个平面坐标系中移动,它爬行的路径即绘制的图形。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image38.jpg?sign=1739547657-jP56RCPlg9tQMoWwbzMHffQIv8nIfO3u-0-c087e1ee2af8b6f8dcafa2452d2c822f)
2.turtle小海龟模块指令
Python小海龟模块提供了很多指令,这些指令的作用与其名字的意思基本相同,跟Logo语言中的小海龟模块指令非常相似,所以很好理解。常用的Python小海龟模块指令及其作用如下表所示。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image37.jpg?sign=1739547657-S0X09Upsf3doNv5FFYq44sRgiTIgkXhx-0-2e4cf0f27b143c2407fb3471cc86138d)
续表
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image40.jpg?sign=1739547657-VvSFo858Qsn1Q7CuPxNfjwMvWDJJLW33-0-7090df3e178e50f0ef2b53ca01e59c1c)
创新园
1.阅读程序写结果
根据所给的程序,在下方的平面坐标系中绘制出相应的图形。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image39.jpg?sign=1739547657-wiqbQCYQwDWgtvX52zoZtbpm6cRKbXM5-0-16beaa78ab0c65e53e4ee3168a65575c)
2.修改程序
下图所示为绘制一个五角星的程序,其中标号处有错误,请改正。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image41.jpg?sign=1739547657-YrkjomQk1WNaeXEzclQwGeKnLS1FmgqO-0-680bab4b79ad338ddac66cddb3b1dea6)