- Python快乐编程:中学学科创意编程实例
- 方其桂主编
- 1220字
- 2025-02-17 20:26:57
第3课 图文并茂也不难——设置小海龟动作

扫一扫,看视频
同学们,日常生活中你们注意过各类指示牌吗?商场内的禁止吸烟标志、繁忙路段的禁止停车标志、高速公路上的限速标志……小小指示牌,已经融入生活中的各个角落,处处发挥着它们的重要作用。Python中的小海龟不仅擅长绘制各种图案,在图文编排上也很专业。一起来指挥小海龟绘制“禁止泊车”指示牌吧!

研究室
1.理解题意
本课案例由4个部分组成,分别是一个圆环、一个大写的英文字母“P”、一个代表禁止的“\”和“禁止泊车”4个汉字。

2.开动脑筋
本案例要求我们指挥小海龟绘制出图文并茂的指示牌,那么小海龟应先从哪个部分开始绘制,又应该怎样去绘制呢?请开动脑筋,思考并回答下面的问题。

规划院
1.思路分析
通过对案例的分析,我们首先要设置小海龟画笔的粗细,沿逆时针方向绘制一个圆环。接下来需要改变3次画笔的颜色及坐标,依次绘制出大写英文字母“P”、符号“\”及汉字“禁止泊车”。要合理安排好4个部分的先后顺序,以达到图文的叠放效果。
本案例最重要的是在绘制4个部分的过程中,控制好小海龟的运动轨迹,在需要的时候显示路线,在不需要的时候隐藏路线,并结合坐标系对小海龟每次的绘制起点进行分析。这样才能编写出具体的程序。

小海龟每次绘制起点不是一成不变的,我们可以根据美工设计的需要,调整小海龟的绘制起点。
2.算法描述
要想完成案例图形的绘制,要先设置小海龟画笔的粗细与画笔的颜色等参数,然后通过控制运动轨迹,改变画笔的坐标,最后绘制出相应的图文内容。
在Python语言中,我们可以用下面的算法流程图来表示以上的思路分析。

加工坊
1.编程实现

2.测试程序

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

语句中font =("KaiTi",200,"bold")命令是对要书写的内容进行属性设置。例如,设置案例中要书写的英文字母“P”的字体属性为“楷体”“200”“加粗”,其中用字符串表示的“KaiTi”和“bold”都要用英文状态下的双引号引起来;而作为“字号”的数值“200”可以直接输入,不需要用双引号引起来。font()命令与要书写的内容“P”之间用英文状态下的逗号隔开。
4.优化程序
只要把握好准确的坐标值,利用小海龟的抬笔、落笔和移动坐标等命令,就可以轻松绘制出不同的指示牌。例如,在高速公路上经常看到的限速标志,在Python中用16行代码就可以实现。具体的程序代码及运行结果如下图所示。

阅览室
1.turtle小 海龟模块指令
指挥小海龟进行绘图的指令有很多,上一课中详细介绍了小海龟的属性设置指令,本课则着重介绍小海龟的运动状态指令。常用的运动状态指令及其作用如下表所示。

2.常用字体的中英文对照表
利用turtle.write()命令书写文本字符串时,经常需要设置文本字符串的字体,但turtle模块只能识别字体的英文名称。为了使绘制效果更加美观,现提供Windows操作系统中常用的字体的中英文对照表,以供读者在绘图时参考。

续表

创新园
1.完善程序
根据下图所示的图形,请补充下面程序中的下画线处的代码,完善程序。

2.改写程序
若想让下图所示的小鱼再吐出2个泡泡,应在上题程序代码段中添加代码:___________。
