Python竟能畫這么漂亮的花,帥呆了(代碼分享)

閱讀本文大概需要3分鐘
關(guān)于函數(shù)和模塊講了這么久,我一直想用一個好玩有趣的小例子來總結(jié)一下,同時也作為實戰(zhàn)練習(xí)一下。
趣味編程其實是最好的學(xué)習(xí)途徑,回想十幾年前我剛畢業(yè)的時候,第一份工作就給手機(jī)上寫app,當(dāng)時覺得非常好玩,那個是時候還是用symbian系統(tǒng),熬了好幾個通宵用j2me寫了一個坦克大戰(zhàn),到現(xiàn)在還記得當(dāng)程序運(yùn)行的時候坦克互戰(zhàn)的情景,真的是蠻興奮的。
好吧一下子扯遠(yuǎn)了,我們還是回到正題:我想來想去,決定要找一個好玩有趣的例子來總結(jié),總于被我找到了,這個例子只有20幾行代碼,非常適合初學(xué)者.
我們先來看一下效果圖:

1.引入模塊
Python標(biāo)準(zhǔn)庫里有一個非常有趣可以畫畫的小模塊叫turtle(海龜),我們先引入這個模塊
import turtle#從標(biāo)準(zhǔn)庫里面引入turtle
def draw_art():
window=turtle.Screen()#獲得一個窗口句柄
window.bgcolor("blue")#把背景設(shè)為藍(lán)色
window.exitonclick()#當(dāng)點(diǎn)擊一下窗口會自動關(guān)閉
draw_art()#調(diào)用函數(shù)
有關(guān)turtle模塊的使用方法,大家可以參考:

2.畫一個小海龜出來
第一步我們已經(jīng)把窗口創(chuàng)建好了,你可以認(rèn)為是一個畫布已經(jīng)ok了,下面我們要讓主角登場了,把海龜畫出來.
import turtle
def draw_art():
window=turtle.Screen()
window.bgcolor("blue")
#創(chuàng)建一個Turtle的實例這里用了類的概念,實例化一個Turtle。類的概念后面文章會講
brad=turtle.Turtle()
brad.shape("turtle")#形狀是一個海龜除了畫海龜還可以畫箭頭,圓圈等等
brad.color("orange")#顏色是橙色
brad.speed('fast')#畫的速度是快速
window.exitonclick()#當(dāng)點(diǎn)擊一下窗口會自動關(guān)閉
draw_art()#調(diào)用函數(shù)

3.畫一個海龜走兩步的圖
我們讓海龜在圖上走100步,然后再往下45度走100步
import turtle
def draw_art():
window=turtle.Screen()
window.bgcolor("blue")
brad=turtle.Turtle()#創(chuàng)建一個Turtle的實例
brad.shape("turtle")#形狀是一個海龜除了畫海龜還可以畫箭頭,圓圈等等
brad.color("orange")#顏色是橙色
brad.speed('fast')#畫的速度是快速
brad.forward(100)#向前走100步
brad.right(45)#然后海龜頭向右轉(zhuǎn)45度
brad.forward(100)#繼續(xù)向前走100步
brad.right(135)#然后有向右轉(zhuǎn)135度
window.exitonclick()
draw_art()#調(diào)用函數(shù)

4.畫出一個菱形
剛才我們已經(jīng)畫來2邊,一個完整的菱形還差2邊,所以我們只需要把剛才走的路循環(huán)一下,把剛才的幾步抽象成一個小函數(shù)(把代碼抽取成一個獨(dú)立的函數(shù),是重構(gòu)經(jīng)常用的技巧),然后循環(huán)2次,就搞定了.
import turtle
def draw_diamond(turt):
for i in range(1,3):
turt.forward(100)#向前走100步
turt.right(45)#然后海龜頭向右轉(zhuǎn)45度
turt.forward(100)#繼續(xù)向前走100步
turt.right(135)#然后有向右轉(zhuǎn)135度
def draw_art():
window=turtle.Screen()
window.bgcolor("blue")
brad=turtle.Turtle()#創(chuàng)建一個Turtle的實例
brad.shape("turtle")#形狀是一個海龜除了畫海龜還可以畫箭頭,圓圈等等
brad.color("orange")#顏色是橙色
brad.speed('fast')#畫的速度是快速
draw_diamond(brad)#抽象一個新的函數(shù),專門畫菱形
window.exitonclick()
draw_art()#調(diào)用函數(shù)

5.畫出一朵漂亮的花
前面的4步我們已經(jīng)可以畫出一個菱形了,其實這個菱形是我們要畫一個花瓣,接著我們主要把菱形向右旋轉(zhuǎn)10度,然后繼續(xù)畫一個花瓣出來,這樣循環(huán)一周360度,就花出一個漂亮的花了,最后當(dāng)海龜回到花心的時候,我們把海龜?shù)念^向右轉(zhuǎn)90度,花一根長的線就大功告成了.是不是等不急,快來看源碼吧
import turtle
def draw_diamond(turt):
for i in range(1,3):
turt.forward(100)#向前走100步
turt.right(45)#然后海龜頭向右轉(zhuǎn)45度
turt.forward(100)#繼續(xù)向前走100步
turt.right(135)#然后有向右轉(zhuǎn)135度
def draw_art():
window=turtle.Screen()
window.bgcolor("blue")
brad=turtle.Turtle()#創(chuàng)建一個Turtle的實例
brad.shape("turtle")#形狀是一個海龜除了畫海龜還可以畫箭頭,圓圈等等
brad.color("orange")#顏色是橙色
brad.speed('fast')#畫的速度是快速
for i in range(1,37):#循環(huán)36次
draw_diamond(brad)#單畫一個菱形也就是花瓣
brad.right(10)#旋轉(zhuǎn)10度
brad.right(90)#當(dāng)花全部花完一周后,把海龜?shù)念^向右轉(zhuǎn)90度
brad.forward(300)#花一根長的線
window.exitonclick()
draw_art()#調(diào)用函數(shù)
然后運(yùn)行就是開頭的圖了,是不是很酷啊~~
總結(jié)
以上就是本文關(guān)于Python竟能畫這么漂亮的花,帥呆了(代碼分享)的全部內(nèi)容,希望對打擊有所幫助。感興趣的朋友可以繼續(xù)參閱本站:
python+opencv實現(xiàn)的簡單人臉識別代碼示例
如有不足之處,歡迎留言指出。
相關(guān)文章
python3 pandas 讀取MySQL數(shù)據(jù)和插入的實例
下面小編就為大家分享一篇python3 pandas 讀取MySQL數(shù)據(jù)和插入的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python實現(xiàn)RLE格式與PNG格式互轉(zhuǎn)
在機(jī)器視覺領(lǐng)域的深度學(xué)習(xí)中,很多數(shù)據(jù)集的標(biāo)注文件使用RLE的格式。但是神經(jīng)網(wǎng)絡(luò)的輸入一定是一張圖片,為此必須把RLE格式的文件轉(zhuǎn)變?yōu)閳D像格式。本文將利用Python實現(xiàn)RLE格式與PNG格式互轉(zhuǎn),感興趣的可以了解一下2022-08-08
python requests庫爬取豆瓣電視劇數(shù)據(jù)并保存到本地詳解
這篇文章主要介紹了python requests庫爬取豆瓣電視劇數(shù)據(jù)并保存到本地詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08

