王麗麗
相信很多信息技術教師對Logo語言中的小海龜畫圖都有所了解。在Python語言中,也有一個內置圖形化模塊——turtle庫,它是由Logo語言發展而來。海龜繪圖,直觀而有趣,非常適合初期接觸Python學習內容的學生。本篇內容就從筆者學校的校本課程《阿派歷險記》的第2課“神秘的圖騰”中海龜繪圖的故事開始:
話說阿派在一次尋找古代文明的探險旅程中,失足掉落進時光隧道,穿越到已經失落的一處古代文明。當他(她)緩過神來,矗立在眼前的是一座古村落,那就是讓每一個探險家都魂牽夢繞的古代文明世界。欣喜之余,他(她)趕忙奔去。進口處有一扇大門,這扇傳說了幾百年的大門上有一個隱形的圖騰,如能正確畫出該圖案,就能打開大門,通向另一個世界,一個神話的世界,那里有開天辟地的圣物,有操縱天地的偉力……
由此,引出本課的學習內容——利用海龜模塊繪制圖騰。這節課的教學設計遵循三個原則:①任務分解,由易到難,先繪制簡單圖騰,再繪制復雜圖騰;②自主學習,摸索嘗試,通過對比圖騰的運行效果和代碼,理解海龜模塊中基礎語句的作用;③模仿學習,不斷創新,先模仿再創作,綜合運用海龜模塊設計復雜圖騰。
繪制簡單圖騰,掌握海龜模塊的基礎語句
教師先以范例“長方形圖騰”為例,說明如何利用Python的海龜模塊繪制簡單圖形,再給出課堂基本任務:繪制三角形、五角星和圓形等圖騰樣式。
1.范例學習
教師讓學生觀察范例“長方形圖騰.py”的代碼和運行效果,猜一猜每一行代碼的作用。這樣,將代碼和運行效果進行對比,學生才能直觀感受和理解每一行代碼的作用,加深印象,激發興趣。
:如表1,利用turtle庫的運動方法,控制海龜(黑色箭頭)移動?!?”號是單行注釋符號,一般單獨一行或在同一行代碼之后進行注釋,方便讀程序和修改。這在項目合作時,顯得尤為重要。
2.繪制簡單圖騰
教師在分析范例的基礎上,先讓學生嘗試修改程序,繪制三角形和五角星圖騰(如下頁圖1、圖2),并鼓勵學生通過數學計算或測試調試等各種方法來修正角度,最終完成圖案的繪制。

接著,教師可以介紹turtle庫的其他運動方法,如“移動到指定坐標goto()”“畫圓circle()”,以及“畫筆控制”中的“抬筆penup()”和“落筆pendown()”等,引導學生嘗試繪制各種圓形或多邊形圖騰(如下頁表2),并提示學生查看Python幫助文檔中有關turtle的介紹,進一步實踐測試。
:小海龜的初始位置是坐標原點(0,0),即畫布正中心,初始方向是x軸正方向。在繪制三角形、五角星和圓形的過程中,學生需要計算海龜轉向的角度,并結合坐標系的知識,不斷測試與調試。在此過程中,學生能逐步理解海龜繪圖的基本功能,為之后利用計算機繪制復雜圖形打下基礎。

3.小結
在模仿簡單圖騰的基礎上,由學生參照學習單,自行小結海龜繪圖模塊的基本命令、功能和注意點。
:重在培養學生自主反思和小結的習慣和能力,也為進一步設計組合圖案打基礎。
綜合運用海龜模塊,設計復雜圖騰
1.設計復雜圖騰
發揮想象,先在學習單上繪制圖騰樣式。接著,參照表3“turtle庫的常用方法”,在Python中新建程序文件,編寫代碼,實現復雜圖騰的設計,如在setheading()中,可以設置海龜面向指定的方向。海龜畫圖有多種烏龜模式,我們可以利用turtle.mode()設置烏龜模式(“standard”“logo”或“world”)并執行重置。如果沒有給出模式,則返回當前模式。最常用的是標準(standard)模式,其坐標系和方向可參照圖3,海龜的初始狀態是面向0度,即向東。

:鼓勵學生不斷測試調試,優化設計。在實現預設圖案的過程中,學生對turtle的認識和理解又提升了一個層次。因為學生是初次接觸turtle庫,故以學習控制海龜移動或筆觸顏色來設計圖形為主,暫不涉及海龜的狀態、響應事件、特殊方法等設置。
2.分享總結
學生設計的圖騰樣式豐富多彩(如圖4、圖5)。隨后,利用網絡學習平臺Moodle的討論區進行作品的全班分享,并可在討論區中展示圖騰設計效果和代碼,還可增加注釋,說明設計意圖和制作難點。學生可以互動分享點評。
:分享的環節總是最激動人心的,在分享中自我反思,在分享中相互學習。

如果你覺得海龜的移動速度太慢,還可以利用speed()設置繪制的速度,速度變化由慢至快為1~10,1最慢,10最快。若參數為0,則為最快速度,若參數缺省,則保持當前速度。如果希望圖騰更加美觀,則可以利用pencolor()設置畫筆顏色(邊框色),或者利用begin_fill()和end_fill()填充顏色。更多有關海龜模塊的使用說明,請嘗試查看在線幫助文檔。神秘圖騰的繪制過程有趣又好玩,而turtle庫的使用簡便又直觀,大家不妨也來試一試吧!