Python蟒蛇繪製例項
Python蟒蛇繪製例項
import turtle #引入turtle外部庫,turtle是python中一個繪製圖像的外部庫
def drawSnake(rad,angle,len,neckrad):#def定義函式,未經呼叫不能執行
for i in range (len):
turtle.circle(rad,angle)#軌跡為圓形,rad為半徑(正代表圓心在左),angle為弧度值
turtle.circle(-rad,angle)
turtle.circle(rad,angle/2)
turtle.fd(rad)#直線軌跡
turtle.circle(neckrad+1,180)
turtle.fd(rad*2/3)
def main():#def定義函式
turtle.setup(1300,800,0,0)#啟動一個圖形視窗(寬度,高度,視窗左上角在螢幕中的座標位置)
pythonsize = 30#軌跡寬度
turtle.pensize(pythonsize)
turtle.pencolor("blue")#軌跡顏色
turtle.seth(-40)#軌跡的角度,逆為正
drawSnake(40,80,5,pythonsize/2)
main()#第一條執行語句
本文主要研究的是Python程式設計turtle的例項,繪製一個七彩蟒蛇。。具體如下。
第2周的課後練習裡,有一道題目,要求修改“蟒蛇繪製”程式,對Python 蟒蛇的每個部分採用不同顏色,繪製一條彩色蟒蛇。
原蟒蛇繪製程式如下:
因為剛開始學Python,不太熟悉,所以自己加了一些註釋,方便理解。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
turtle.fd(rad) #表示直線爬行,forward,引數表示爬行的距離
|
通過仔細分析了該程式碼,發現這段程式碼中畫筆的顏色,是通過pencolor()來設定,如果想要將顏色變為彩色,顯然不能再用這種方法,因此我想到了用列表來解決這個問題,於是在drawSnake裡建立一個名為colors的列表變數並且在列表中放置6種顏色,如下所示:
colors = [“red”,”orange”,”yellow”,”green”,”cyan”,”blue”]
在此之前呢,因為原先的程式裡,len的值是5,因此畫出來的蟒蛇的身體只有五部分,為了顯示為七彩,特地將len的值改為6.
在for迴圈裡,在繪畫之前,增加了一條語句,用來設定畫筆的顏色:
turtle.color(colors[i])
colors[i]中,i和for迴圈裡的是同一個變數,當i從0變化到5,相應的,color()就會從前面所新增的、名為colors的顏色名稱列表中選取一種顏色,設定為畫筆的顏色。
而蟒蛇的頭部,則利用turtle.color(“purple”)設定為第7種顏色。
執行之後,我發現turtle每次繪圖,都是從畫板的中心開始的,我覺得不太好看,於是想找到一種方法能夠改變繪圖的起點,目前我找到的方法是,利用penup(),goto(),pendown()命令來改變畫筆起點的位置,如下所示:
turtle.penup()
turtle.goto(-350,0)
turtle.pendown()
如果後續再發現更好的方法,再更新。
一條七彩的蟒蛇就繪製好啦~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
結果展示: