書名: Python快樂編程:中學學科創意編程實例作者名: 方其桂主編本章字數: 1220字更新時間: 2021-06-15 16:15:30
第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個泡泡,應在上題程序代碼段中添加代碼:___________。
