Python實現七彩蟒蛇繪製執行個體代碼,python蟒蛇

來源:互聯網
上載者:User

Python實現七彩蟒蛇繪製執行個體代碼,python蟒蛇

本文主要研究的是Python編程turtle的執行個體,繪製一個七彩蟒蛇。。具體如下。

第2周的課後練習裡,有一道題目,要求修改“蟒蛇繪製”程式,對Python 蟒蛇的每個部分採用不同顏色,繪製一條彩色蟒蛇。

原蟒蛇繪製程式如下:

因為剛開始學Python,不太熟悉,所以自己加了一些注釋,方便理解。

#蟒蛇繪製import turtledef drawSnake(rad,angle,len,neckrad):  for i in range(len):    turtle.circle(rad,angle) #畫圓 rad:圓半徑 angle:圓弧度    turtle.circle(-rad,angle) #運行軌跡右側rad遠的地方繪製圓  turtle.circle(rad,angle/2)  turtle.fd(rad) #表示直線爬行,forward,參數表示爬行的距離  turtle.circle(neckrad+1,180)  turtle.fd(rad*2/3)def main():  turtle.setup(1300,800,0,0) #設定視窗寬+高+起始位置  pythonsize = 30  turtle.pensize(pythonsize) #設定筆的寬度  turtle.pencolor("blue") #設定筆的顏色  turtle.seth(-40) #設定筆的起始角度  drawSnake(40,80,5,pythonsize/2)

通過仔細分析了該代碼,發現這段代碼中畫筆的顏色,是通過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()

如果後續再發現更好的方法,再更新。

一條七彩的蟒蛇就繪製好啦~

#蟒蛇繪製import turtledef 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()

結果展示:

總結

以上就是本文關於Python實現七彩蟒蛇繪製執行個體代碼的全部內容,希望對大家有所協助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.