摘要:Python語(yǔ)言是目前最接近自然語(yǔ)言的通用編程語(yǔ)言,目前受關(guān)注度非常高,國(guó)內(nèi)許多高校都開(kāi)設(shè)了Python程序設(shè)計(jì)課程。Python語(yǔ)言的Turtle庫(kù)是一個(gè)簡(jiǎn)單、易用的繪圖庫(kù),可以用作Python語(yǔ)言學(xué)習(xí)的入門(mén)庫(kù)。通過(guò)選取一些有趣的繪圖案例,來(lái)增強(qiáng)學(xué)生學(xué)習(xí)語(yǔ)言的興趣。
關(guān)鍵詞:Python語(yǔ)言;Turtle庫(kù)
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)22-0111-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Python語(yǔ)言是一種面向過(guò)程又面向?qū)ο蟮木幊陶Z(yǔ)言,語(yǔ)法簡(jiǎn)單、易讀。同時(shí),還是開(kāi)源的編程語(yǔ)言,擁有豐富而強(qiáng)大的擴(kuò)展庫(kù)。Python代碼簡(jiǎn)潔、語(yǔ)法簡(jiǎn)單、上手容易,應(yīng)用廣泛。目前,全國(guó)有多所高校都開(kāi)設(shè)了Python程序設(shè)計(jì)課程。我校作為福建省知名的職業(yè)院校,也開(kāi)始開(kāi)設(shè)Python課程。Python語(yǔ)言的Turle庫(kù)是一個(gè)簡(jiǎn)單、易用的繪圖庫(kù),可以用作Python語(yǔ)言學(xué)習(xí)的入門(mén)庫(kù)[1]。
Turtle庫(kù)也叫海龜繪圖庫(kù),它是Python語(yǔ)言最基礎(chǔ)的圖形繪制函數(shù)庫(kù),基本原理是用程序控制一只海龜爬行,并將其軌跡動(dòng)態(tài)生成圖形進(jìn)行輸出。Turtle圖形繪制的概念誕生在1969年,最初成功應(yīng)用于LOGO編程語(yǔ)言。由于turtle圖形繪制概念十分直觀且非常流行,Python接受了這個(gè)概念,并形成了Python的turtle庫(kù)[2]。
本文首先引導(dǎo)學(xué)生畫(huà)一個(gè)等邊三角形,然后擴(kuò)展到畫(huà)正n變形,引出循環(huán)語(yǔ)句的概念,然后引導(dǎo)學(xué)生如何來(lái)畫(huà)一個(gè)五角星。
1 繪制正n邊形
我安裝的python版本是Python -3.8.1( 32-bit)。安裝完成以后,在“開(kāi)始“菜單里面點(diǎn)擊Python 3.8下的IDLE,就會(huì)出現(xiàn)Python的界面。
首先,我們?cè)诿钐崾痉竺孑斎霂仔写a:
在上面的語(yǔ)句中,import turtle的作用是調(diào)用turtle庫(kù)。第2個(gè)語(yǔ)句設(shè)置一個(gè)寬500像素、高600像素的畫(huà)布,畫(huà)布的顏色是綠色。第3個(gè)語(yǔ)句設(shè)置畫(huà)筆的寬度是6像素。第4個(gè)語(yǔ)句設(shè)置畫(huà)筆的顏色是紅色。這個(gè)時(shí)候,就會(huì)在畫(huà)布的正中間出現(xiàn)一個(gè)代表畫(huà)筆的三角形箭頭。畫(huà)筆的初始位置是畫(huà)布的正中,這個(gè)位置為坐標(biāo)原點(diǎn)(0,0),往左是x軸的正方向,往上是v軸的正方向。
1.1采用for循環(huán)繪制正n邊形
第一種方法,考慮用for循環(huán)語(yǔ)句,如圖3所示。turtle.reset()語(yǔ)句的作用是清空窗口,重置turtle的狀態(tài)為初始狀態(tài)。也就是說(shuō),原來(lái)畫(huà)的圖形都沒(méi)有掉了,畫(huà)筆重新回到了畫(huà)布正中心。
在這里面,用到了一個(gè)for循環(huán),和一個(gè)range函數(shù),range函數(shù)是一個(gè)左閉右開(kāi)的函數(shù)。
其中,for num in range(0,10):語(yǔ)句的作用是循環(huán)10次。命令turtle.forward( 100)的作用是畫(huà)筆向前畫(huà)100個(gè)像素,命令turtle.right(36)的作用是畫(huà)筆方向順時(shí)針轉(zhuǎn)動(dòng)36度。這樣循環(huán)十次就可以畫(huà)出一個(gè)正10邊形,其邊長(zhǎng)為100像素。同理,可以畫(huà)出正9邊形、正8邊形、正6邊形、正5邊形、正4邊形、正3邊形。最開(kāi)始的時(shí)候,考慮到360度不能被7、11整除,無(wú)法繪制正7、11邊形。后來(lái)想到在命令turtle.right()命令中,參數(shù)直接輸入360/7或者360/11,就可以繪制正7、11邊形了。這樣,就可以繪制任意正n變形了。就是畫(huà)筆方向轉(zhuǎn)動(dòng)的角度是360/n,n為正n邊形的邊數(shù)。
1.2采用turtle.circle()命令繪制正n變形
第2種方法,是采用turtle庫(kù)的turtle.circle()命令來(lái)畫(huà)正n邊形。
Turle.circle(radius,extent,steps)有三個(gè)參數(shù),第一個(gè)半徑,第二個(gè)是弧度,當(dāng)?shù)谌齻€(gè)參數(shù)steps的值為正整數(shù)時(shí),繪制steps=n的內(nèi)切正n變形。語(yǔ)句turtle.Circle(150,steps=3)的含義是畫(huà)一個(gè)內(nèi)切圓半徑為150的正3邊形。因此要繪制一個(gè)內(nèi)切圓為150的正n邊形,其代碼為turtle.circle(150,steps=n)。
2 繪制五角星
在繪制正n邊形方法一的基礎(chǔ)上,將代碼稍做修改,繪制五角星。將turtle.right()命令的參數(shù),改成180-180/n。如圖所示,五角星就輸入turtle.right(180-180/5),21角星就是turtle.right(180-180/21)。通過(guò)試驗(yàn)發(fā)現(xiàn),n為奇數(shù)才能畫(huà)出正確的n角星,如果輸入的n為偶數(shù),則繪制的圖形有錯(cuò)誤。
3 結(jié)論
在引導(dǎo)學(xué)生學(xué)習(xí)Python語(yǔ)言的過(guò)程中,我們應(yīng)該選取一些趣味性較強(qiáng)的案例,來(lái)激發(fā)學(xué)生的學(xué)習(xí)興趣。通過(guò)漸進(jìn)式的趣味性案例的講解,使學(xué)生產(chǎn)生濃厚的興趣。興趣是最好的老師,只有學(xué)生容感興趣時(shí),才能夠?qū)W得好。課堂教學(xué)只依靠老師一人的努力是不夠的,只有充分調(diào)動(dòng)學(xué)生的積極性、激發(fā)學(xué)生的學(xué)習(xí)興趣,才能更好地完成教學(xué)[3-4]。
參考文獻(xiàn):
[1]劉梅彥,徐英慧,周淑一.基于成果導(dǎo)向的“Python程序設(shè)計(jì)”教學(xué)設(shè)計(jì)[J]‘電腦知識(shí)與技術(shù),2017,13(20):105-107.
[2]嵩天,黃天羽.Python語(yǔ)言程序設(shè)計(jì)教學(xué)案例新思維[J].計(jì)算機(jī)教育,2017(12):11-14,19.
[3]嵩天,黃天羽,禮欣.Python語(yǔ)言:程序設(shè)計(jì)課程教學(xué)改革的理想選擇[J],中國(guó)大學(xué)教學(xué),2016(2):42-47.
[4]嵩天,黃天羽,禮欣.面向計(jì)算生態(tài)的PYthon語(yǔ)言入門(mén)課程教學(xué)方案[J].計(jì)算機(jī)教育,2017(8):7-12.
【通聯(lián)編輯:唐一東】
作者簡(jiǎn)介:林曉芬(1981-),女,碩士研究生,副教授。