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