![Python快乐编程:中学学科创意编程实例](https://wfqqreader-1252317822.image.myqcloud.com/cover/586/38493586/b_38493586.jpg)
第3课 图文并茂也不难——设置小海龟动作
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image44.jpg?sign=1738928854-hTzgcJA6fOfvfKB268Zbvc7xF64ZENzI-0-0b97cd9d6dc37788ed30add0e34ebe2a)
扫一扫,看视频
同学们,日常生活中你们注意过各类指示牌吗?商场内的禁止吸烟标志、繁忙路段的禁止停车标志、高速公路上的限速标志……小小指示牌,已经融入生活中的各个角落,处处发挥着它们的重要作用。Python中的小海龟不仅擅长绘制各种图案,在图文编排上也很专业。一起来指挥小海龟绘制“禁止泊车”指示牌吧!
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image43.jpg?sign=1738928854-CVjRcVxfntymUaZloxLT055tbShvYSG1-0-a4057e9bb945de4a6642ca19d1c0acfd)
研究室
1.理解题意
本课案例由4个部分组成,分别是一个圆环、一个大写的英文字母“P”、一个代表禁止的“\”和“禁止泊车”4个汉字。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image42.jpg?sign=1738928854-51xKes5oewLi8Jp7j30kFpImKjNfYV60-0-567a817ecdcc9396428f4d166b0d44af)
2.开动脑筋
本案例要求我们指挥小海龟绘制出图文并茂的指示牌,那么小海龟应先从哪个部分开始绘制,又应该怎样去绘制呢?请开动脑筋,思考并回答下面的问题。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image45.jpg?sign=1738928854-OVOcSH5jycrWGd3Uv0AKYMOWmbTFzxgt-0-a1ab6ca06b541b813cdb2387aef21bda)
规划院
1.思路分析
通过对案例的分析,我们首先要设置小海龟画笔的粗细,沿逆时针方向绘制一个圆环。接下来需要改变3次画笔的颜色及坐标,依次绘制出大写英文字母“P”、符号“\”及汉字“禁止泊车”。要合理安排好4个部分的先后顺序,以达到图文的叠放效果。
本案例最重要的是在绘制4个部分的过程中,控制好小海龟的运动轨迹,在需要的时候显示路线,在不需要的时候隐藏路线,并结合坐标系对小海龟每次的绘制起点进行分析。这样才能编写出具体的程序。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image46.jpg?sign=1738928854-YxHiKGByxgpqjNhwU6TJD2GWPCcvcfmr-0-e99315d73bf6e9f16f2f17ab0a2f006a)
小海龟每次绘制起点不是一成不变的,我们可以根据美工设计的需要,调整小海龟的绘制起点。
2.算法描述
要想完成案例图形的绘制,要先设置小海龟画笔的粗细与画笔的颜色等参数,然后通过控制运动轨迹,改变画笔的坐标,最后绘制出相应的图文内容。
在Python语言中,我们可以用下面的算法流程图来表示以上的思路分析。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image47.jpg?sign=1738928854-u3GXA91Lant0Hi9WtoBxG6Ne2AtkXpUi-0-8618d575d5a532bf4d99bd9a24275b50)
加工坊
1.编程实现
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image48.jpg?sign=1738928854-PgoP9hNskxF0HGVJbDFgAJxPOqpIeKGW-0-a498cc96384b2ff9cc64dbe8bf2da899)
2.测试程序
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image49.jpg?sign=1738928854-WMMkbh3s9VeWR54NX1Zm7slHkxlOrHuO-0-d02c396365c6dc91fde22a23cb3004d1)
3.答疑解惑
在程 序中设置小海龟的状态参数时,要注意下页图所示的易错点。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image51.jpg?sign=1738928854-mTqmcdHpqcEM0ukfRy9Vg7IyGbxt6tgI-0-0e4d0a2e83fa60d38c1328c91884bb39)
语句中font =("KaiTi",200,"bold")命令是对要书写的内容进行属性设置。例如,设置案例中要书写的英文字母“P”的字体属性为“楷体”“200”“加粗”,其中用字符串表示的“KaiTi”和“bold”都要用英文状态下的双引号引起来;而作为“字号”的数值“200”可以直接输入,不需要用双引号引起来。font()命令与要书写的内容“P”之间用英文状态下的逗号隔开。
4.优化程序
只要把握好准确的坐标值,利用小海龟的抬笔、落笔和移动坐标等命令,就可以轻松绘制出不同的指示牌。例如,在高速公路上经常看到的限速标志,在Python中用16行代码就可以实现。具体的程序代码及运行结果如下图所示。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image50.jpg?sign=1738928854-aYBhS5KEBzeSgiCwNacZ2ptWg3JhlxQR-0-62f009a04dd5054e1886264ce0d61c95)
阅览室
1.turtle小 海龟模块指令
指挥小海龟进行绘图的指令有很多,上一课中详细介绍了小海龟的属性设置指令,本课则着重介绍小海龟的运动状态指令。常用的运动状态指令及其作用如下表所示。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image52.jpg?sign=1738928854-9VyzTZcenzNxUMMkyVlbhNCh3msHvft7-0-2015ca277d891bdd922a48aad1bef4ad)
2.常用字体的中英文对照表
利用turtle.write()命令书写文本字符串时,经常需要设置文本字符串的字体,但turtle模块只能识别字体的英文名称。为了使绘制效果更加美观,现提供Windows操作系统中常用的字体的中英文对照表,以供读者在绘图时参考。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image53.jpg?sign=1738928854-1v38jYOWSNVtaYd05U3m4O4plFFEIZ7A-0-18d356da3bb0c2d18861e8759b480857)
续表
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image54.jpg?sign=1738928854-ICPdmnwW1ha1ANQXRDjjmCCxUsvoyM2f-0-ab537a6c350a7f5ca74f730092d3511f)
创新园
1.完善程序
根据下图所示的图形,请补充下面程序中的下画线处的代码,完善程序。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image55.jpg?sign=1738928854-iO9IhfbsfGxonXtjIWTwkVscw3NAEDRy-0-c4ffe56c5c732a76ca6cae40920225fa)
2.改写程序
若想让下图所示的小鱼再吐出2个泡泡,应在上题程序代码段中添加代码:___________。
![](https://epubservercos.yuewen.com/8E0F6A/20259197608643006/epubprivate/OEBPS/Images/image56.jpg?sign=1738928854-THNAjKVB1SmLyen5l3JXYtQhzBUEL9hP-0-10e1d5a8120ef86031cd64549e95dffa)