亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Python語言的Turtle庫繪圖實例

        2023-05-30 18:06:46林曉芬
        電腦知識與技術(shù) 2023年3期
        關(guān)鍵詞:設(shè)置結(jié)構(gòu)

        林曉芬

        關(guān)鍵詞:Python語言;turtle庫

        中圖分類號:TP311 文獻標(biāo)識碼:A

        文章編號:1009-3044(2023)03-0097-02

        Python語言語法簡潔、清晰,是一門適合非計算機專業(yè)大學(xué)生學(xué)習(xí)的編程語言。Python有著十分強大的類庫,其中的Turtle庫能繪制簡單且有規(guī)律的圖形。在講解Turtle庫的知識前,應(yīng)先介紹Python語言的順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)和列表等基本知識。這樣既有利于學(xué)生輕松地掌握代碼的編寫方法,又讓學(xué)生更好地理解Pyhon語言的語法結(jié)構(gòu)。

        Turtle庫是Python的標(biāo)準(zhǔn)庫之一,屬于入門級的圖形繪制函數(shù)庫。標(biāo)準(zhǔn)庫是隨解釋器直接安裝到操作系統(tǒng)中的功能模塊,第三方庫是需要經(jīng)過安裝才能使用的功能模塊。Turtle的中文意思是海龜,turtle模塊通過控制畫筆的移動來繪圖,畫筆就像是一只海龜在畫布上爬,爬過的地方留下了痕跡,痕跡形成了圖形。海龜可以前進、后退、左轉(zhuǎn)、右轉(zhuǎn)。海龜有一條尾巴,當(dāng)尾巴抬起時,爬過的地方不留下痕跡,尾巴放下時,爬過的地方留下痕跡[1-3]。

        為提高學(xué)生的學(xué)習(xí)興趣,教學(xué)時筆者選取了一些繪圖案例,有正n邊形、太陽花、彩色螺旋線、奧運五環(huán)等[4-5]。這些圖案的代碼十分簡單,很適合初學(xué)者的學(xué)習(xí)。學(xué)生在學(xué)習(xí)這些繪圖代碼時,用到了Python語言中的循環(huán)語句、列表、索引等知識,讓學(xué)生在繪圖的時候加深了Python語法結(jié)構(gòu)的理解和運用能力。

        1 編程基礎(chǔ)知識

        1.1 Python 程序的語句結(jié)構(gòu)

        計算機程序一般有三種語句結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)以及循環(huán)結(jié)構(gòu),利用這三種結(jié)構(gòu),可以編寫出各種復(fù)雜的應(yīng)用程序。

        順序結(jié)構(gòu)是程序中最基本的結(jié)構(gòu),它是任何程序的主體結(jié)構(gòu),在該結(jié)構(gòu)中,各語句按照出現(xiàn)的先后次序依次執(zhí)行。當(dāng)需要根據(jù)給定的條件做出不同選擇時,可以使用選擇結(jié)構(gòu)來處理。在Python中,選擇結(jié)構(gòu)有單分支結(jié)構(gòu)、雙分支結(jié)構(gòu)和多分支結(jié)構(gòu),分別用if語句、if...else...語句和if...elif...else...語句來實現(xiàn)。循環(huán)語句用來重復(fù)執(zhí)行一條或多條語句,使用循環(huán)結(jié)構(gòu)可以減少源程序重復(fù)書寫的工作量,簡化程序結(jié)構(gòu)。在Python中,循環(huán)結(jié)構(gòu)語句主要有while語句和for循環(huán)語句。本繪圖實例中,筆者使用的是for循環(huán)語句。

        1.2 Turtle 庫的導(dǎo)入

        Turtle 的導(dǎo)入可以使用from turtle import * 或者import turtle 兩種語句,前者在使用方法時不需要加turtle前綴,后者在使用方法時需要加上turtle.前綴,例如,向前語句turtle.forward(x)。

        1.3 Turtle 庫的基本函數(shù)

        Turtle庫中函數(shù)較少且容易記憶,且許多函數(shù)的名字與海龜動作名稱的自然語言一致,便于學(xué)生記憶。如:screensize(x,y,color),設(shè)置寬x、高y、顏色為color的畫布;setup(x,y),設(shè)置寬x,高y的畫布;forward(x),畫筆向前移動x像素;backward(x),畫筆向后移動x像素;left(x),畫筆方向向左旋轉(zhuǎn)x角度;right(x),畫筆方向向右旋轉(zhuǎn)x角度;shape(x),設(shè)置繪圖時的造型,默認(rèn)為小箭頭;pensize(x),設(shè)置畫筆的粗細;width(x),設(shè)置畫筆的粗細;pencolor(x),設(shè)置畫筆的顏色;color(x,y),設(shè)置畫筆的顏色為x,設(shè)置填充的顏色為y;fillcolor(x),設(shè)置圖形的填充顏色;speed(x),設(shè)置畫筆移動的速度,取值在0-10之間,1最慢,10最快,0不移動;penup(),畫筆抬起;pen?down(),畫筆落下;goto(x,y),畫筆移動到x,y處,畫布中心為坐標(biāo)原點;circle(R,E,S),畫圓,R為圓的半徑,E是圓弧的角度。R半徑為正時在畫筆的左邊畫圓,半徑為負(fù)值時在畫筆的右邊畫圓;reset(),清空窗口,畫筆重新回到畫布中央;clear(),清空窗口,但是畫筆的位置和狀態(tài)不會改變;begin_fill(),準(zhǔn)備開始填充圖形;end_fill(),填充完成;write(),書寫;done(),海龜繪圖結(jié)束標(biāo)識,防止腳本結(jié)束后關(guān)閉畫布。

        Python語言中的顏色非常豐富,常見的表示顏色的字符串有:“while”白色、“black”黑色、“green”綠色、“blue”藍色、“yellow”黃色、“cyan”青色、“magenta”洋紅色、“purple”紫色、“brown”棕色、“pink”粉色、“gold”金色、“tomato”番茄色等。

        1.4 Turtle 坐標(biāo)系

        Turtle的坐標(biāo)系有屏幕坐標(biāo)系、空間坐標(biāo)系和角度坐標(biāo)系等。屏幕坐標(biāo)系指的是畫布與屏幕之間的相對位置關(guān)系,顯示器屏幕的左上角為坐標(biāo)原點,如圖1所示。可以用setup(width,height,startx,starty) 方法設(shè)置畫布左上角與屏幕左上角之間的距離??臻g坐標(biāo)系是指畫筆與畫布之間的相對位置關(guān)系,默認(rèn)坐標(biāo)原點在畫布的正中心,繪圖時,畫筆從畫布的中心位置開始移動,畫筆的方向默認(rèn)是x軸的正方向,如圖2所示。角度坐標(biāo)系如圖3所示,x軸的正方向為0度,y軸的正方向為90度,可以通過setheading(angle) 方法來設(shè)置畫筆的方向。

        2 繪圖實例

        筆者安裝的Python版本是Python -3.8.1(64-bit) 。

        2.1 繪制彩色六邊形

        圖4中的彩色六邊形實際上是由6個正三角形組成的。利用circle()方法中的steps參數(shù)來畫三角形,利用color() 方法設(shè)置畫筆顏色和填充顏色,利用列表colors和for循環(huán)語句來實現(xiàn)顏色的變化。程序設(shè)計結(jié)構(gòu)是計算機語言教學(xué)中的重點和難點,結(jié)構(gòu)化的程序設(shè)計有三種基本的結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。在這個教學(xué)案例中,通過繪制正六邊形,引導(dǎo)學(xué)生深入地理解循環(huán)結(jié)構(gòu)。

        圖5中的圖形是由六個三角形和一個正六邊形構(gòu)成的。代碼段中,首先定義了一個函數(shù)triangle,這個函數(shù)的作用是畫正三角形。然后創(chuàng)建了一個列表colors,列表用來放顏色。然后用for循環(huán)畫正六邊形,循環(huán)六次,每循環(huán)一次的時候調(diào)用一次triangle函數(shù),最終得到圖5的圖形。在這個教學(xué)案例中,通過繪圖實例,引導(dǎo)學(xué)生理解循環(huán)的嵌套是如何實現(xiàn)圖形的繪制。

        2.2 繪制彩虹

        圖6中的彩虹是通過一個for循環(huán)語句和列表col?ors實現(xiàn)的。先創(chuàng)建一個列表colors來放顏色,然后設(shè)置畫筆的寬度,因為是畫彩虹,所以畫筆寬度要設(shè)得比較寬。然后用circle() 方法來畫半圓,每循環(huán)一次,circle()中的半徑就要增大一次,畫筆的顏色也要不斷改變,這些是通過循環(huán)語句來實現(xiàn)的。setheading()方法用來設(shè)置畫筆的方向。每次畫筆的起點都不一樣,這是通過goto()方法來實現(xiàn)的,但每一次畫筆的起始方向都是一樣的。

        2.3 繪制箭靶

        圖7和圖8是實現(xiàn)彩色圓環(huán)的兩種方法。圖7中所采用的方法,是從最外圈開始畫圓,然后逐漸縮小畫圓所用的半徑值。圖8中所采用的方法,是從最里圈開始畫圓,然后逐漸增大畫圓所用的半徑值。

        這兩種方法都使用了for 循環(huán)語句和circle() 方法。畫圖時,要注意畫筆的初始位置和畫筆的方向,才能畫出想要的圖形。

        3 結(jié)論

        Turtle庫是一個簡單易學(xué)的繪圖庫,學(xué)習(xí)門檻低,繪圖函數(shù)易學(xué)易記。在計算機程序設(shè)計教學(xué)中,改變以往把解決數(shù)學(xué)問題作為編程例題的做法,把圖形繪制帶入程序設(shè)計教學(xué)中。教學(xué)實踐表明,通過各種有趣、生動鮮明、貼合生活實際的繪圖實例,可以激發(fā)學(xué)生學(xué)習(xí)Python語言的興趣,增強學(xué)生學(xué)習(xí)編程的信心[6],Turtle庫可以作為學(xué)習(xí)Python語言的入門庫。

        猜你喜歡
        設(shè)置結(jié)構(gòu)
        《形而上學(xué)》△卷的結(jié)構(gòu)和位置
        中隊崗位該如何設(shè)置
        少先隊活動(2021年4期)2021-07-23 01:46:22
        論結(jié)構(gòu)
        中華詩詞(2019年7期)2019-11-25 01:43:04
        新型平衡塊結(jié)構(gòu)的應(yīng)用
        模具制造(2019年3期)2019-06-06 02:10:54
        7招教你手動設(shè)置參數(shù)
        論《日出》的結(jié)構(gòu)
        本刊欄目設(shè)置說明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        創(chuàng)新治理結(jié)構(gòu)促進中小企業(yè)持續(xù)成長
        艦船人員編制的設(shè)置與控制
        国产精品性一区二区三区| 在线视频观看免费视频18| 免费a级毛片无码a| 国产精品白浆视频一区| 国产精品自产拍av在线| 国产情侣一区二区| 色噜噜狠狠一区二区三区果冻| 亚洲av无码乱码在线观看裸奔| 国产精品无码一本二本三本色| 国产乱子乱人伦电影在线观看| 亚洲天堂在线播放| 国产爆乳美女娇喘呻吟久久| 少妇下面好紧好多水真爽| 久久人妻av一区二区软件| 天美传媒精品1区2区3区| 亚洲欧美日韩精品高清| 色婷婷av一区二区三区丝袜美腿| 人妖一区二区三区四区 | 天堂av一区二区麻豆| 男女视频在线观看一区| 国产又黄又爽又色的免费| 久久精品国产亚洲AⅤ无码| 又爽又猛又大又湿的视频| 日本一区二区三区视频网站| 欧美交换配乱吟粗大25p| 中文 国产 无码免费| 精品人妻一区二区三区不卡毛片| av日韩一区二区三区四区| 亚洲日韩一区二区三区| 91网站在线看| 激情偷拍视频一区二区| 久久不见久久见免费视频6 | 小12箩利洗澡无码视频网站| 无码熟妇人妻AV不卡| 久久久精品国产免费看| 欧美另类人妖| 国产一及毛片| 亚洲国产av精品一区二| 午夜精品久久久久久久| 色偷偷一区二区无码视频| 男女上床视频在线观看|