Python實(shí)現(xiàn)七彩蟒蛇繪制實(shí)例代碼
本文主要研究的是Python編程turtle的實(shí)例,繪制一個(gè)七彩蟒蛇。。具體如下。
第2周的課后練習(xí)里,有一道題目,要求修改“蟒蛇繪制”程序,對(duì)Python 蟒蛇的每個(gè)部分采用不同顏色,繪制一條彩色蟒蛇。
原蟒蛇繪制程序如下:
因?yàn)閯傞_始學(xué)Python,不太熟悉,所以自己加了一些注釋,方便理解。
#蟒蛇繪制 import turtle def drawSnake(rad,angle,len,neckrad): for i in range(len): turtle.circle(rad,angle) #畫圓 rad:圓半徑 angle:圓弧度 turtle.circle(-rad,angle) #運(yùn)行軌跡右側(cè)rad遠(yuǎn)的地方繪制圓 turtle.circle(rad,angle/2) turtle.fd(rad) #表示直線爬行,forward,參數(shù)表示爬行的距離 turtle.circle(neckrad+1,180) turtle.fd(rad*2/3) def main(): turtle.setup(1300,800,0,0) #設(shè)置窗口寬+高+起始位置 pythonsize = 30 turtle.pensize(pythonsize) #設(shè)置筆的寬度 turtle.pencolor("blue") #設(shè)置筆的顏色 turtle.seth(-40) #設(shè)置筆的起始角度 drawSnake(40,80,5,pythonsize/2)
通過仔細(xì)分析了該代碼,發(fā)現(xiàn)這段代碼中畫筆的顏色,是通過pencolor()來設(shè)置,如果想要將顏色變?yōu)椴噬?,顯然不能再用這種方法,因此我想到了用列表來解決這個(gè)問題,于是在drawSnake里創(chuàng)建一個(gè)名為colors的列表變量并且在列表中放置6種顏色,如下所示:
colors = [“red”,”orange”,”yellow”,”green”,”cyan”,”blue”]
在此之前呢,因?yàn)樵鹊某绦蚶?,len的值是5,因此畫出來的蟒蛇的身體只有五部分,為了顯示為七彩,特地將len的值改為6.
在for循環(huán)里,在繪畫之前,增加了一條語(yǔ)句,用來設(shè)置畫筆的顏色:
turtle.color(colors[i])
colors[i]中,i和for循環(huán)里的是同一個(gè)變量,當(dāng)i從0變化到5,相應(yīng)的,color()就會(huì)從前面所添加的、名為colors的顏色名稱列表中選取一種顏色,設(shè)置為畫筆的顏色。
而蟒蛇的頭部,則利用turtle.color(“purple”)設(shè)置為第7種顏色。
運(yùn)行之后,我發(fā)現(xiàn)turtle每次繪圖,都是從畫板的中心開始的,我覺得不太好看,于是想找到一種方法能夠改變繪圖的起點(diǎn),目前我找到的方法是,利用penup(),goto(),pendown()命令來改變畫筆起點(diǎn)的位置,如下所示:
turtle.penup()
turtle.goto(-350,0)
turtle.pendown()
如果后續(xù)再發(fā)現(xiàn)更好的方法,再更新。
一條七彩的蟒蛇就繪制好啦~
#蟒蛇繪制 import turtle def drawSnake(rad,angle,len,neckrad): colors = ["red","orange","yellow","green","cyan","blue"] for i in range(len): turtle.color(colors[i]) turtle.circle(rad,angle) turtle.circle(-rad,angle) turtle.color("purple") turtle.circle(rad,angle/2) turtle.fd(rad) turtle.circle(neckrad+1,180) turtle.fd(rad*2/3) def main(): turtle.setup(1300,800,0,0) turtle.penup() turtle.goto(-350,0) turtle.pendown() pythonsize = 30 turtle.pensize(pythonsize) turtle.seth(-40) drawSnake(40,80,6,pythonsize/2) main()
結(jié)果展示:
總結(jié)
以上就是本文關(guān)于Python實(shí)現(xiàn)七彩蟒蛇繪制實(shí)例代碼的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
python GUI庫(kù)圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇
這篇文章主要介紹了python GUI庫(kù)圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇,需要的朋友可以參考下2020-02-02在python win系統(tǒng)下 打開TXT文件的實(shí)例
下面小編就為大家分享一篇在python win系統(tǒng)下 打開TXT文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python wxPython庫(kù)消息對(duì)話框MessageDialog用法示例
這篇文章主要介紹了Python wxPython庫(kù)消息對(duì)話框MessageDialog用法,結(jié)合實(shí)例形式簡(jiǎn)單分析了wxPython庫(kù)的基本事件與相關(guān)使用技巧,需要的朋友可以參考下2018-09-09python中的break、continue、exit()、pass全面解析
下面小編就為大家?guī)硪黄猵ython中的break、continue、exit()、pass全面解析。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08