閱讀本文大概需要3分鐘
關(guān)于函數(shù)和模塊講了這么久,我一直想用一個(gè)好玩有趣的小例子來總結(jié)一下,同時(shí)也作為實(shí)戰(zhàn)練習(xí)一下。
趣味編程其實(shí)是最好的學(xué)習(xí)途徑,回想十幾年前我剛畢業(yè)的時(shí)候,第一份工作就給手機(jī)上寫app,當(dāng)時(shí)覺得非常好玩,那個(gè)是時(shí)候還是用symbian系統(tǒng),熬了好幾個(gè)通宵用j2me寫了一個(gè)坦克大戰(zhàn),到現(xiàn)在還記得當(dāng)程序運(yùn)行的時(shí)候坦克互戰(zhàn)的情景,真的是蠻興奮的。
好吧一下子扯遠(yuǎn)了,我們還是回到正題:我想來想去,決定要找一個(gè)好玩有趣的例子來總結(jié),總于被我找到了,這個(gè)例子只有20幾行代碼,非常適合初學(xué)者.
我們先來看一下效果圖:
1.引入模塊
Python標(biāo)準(zhǔn)庫里有一個(gè)非常有趣可以畫畫的小模塊叫turtle(海龜),我們先引入這個(gè)模塊
import turtle#從標(biāo)準(zhǔn)庫里面引入turtle def draw_art(): window=turtle.Screen()#獲得一個(gè)窗口句柄 window.bgcolor("blue")#把背景設(shè)為藍(lán)色 window.exitonclick()#當(dāng)點(diǎn)擊一下窗口會(huì)自動(dòng)關(guān)閉 draw_art()#調(diào)用函數(shù)
有關(guān)turtle模塊的使用方法,大家可以參考:
使用Python的turtle模塊畫圖的方法
2.畫一個(gè)小海龜出來
第一步我們已經(jīng)把窗口創(chuàng)建好了,你可以認(rèn)為是一個(gè)畫布已經(jīng)ok了,下面我們要讓主角登場了,把海龜畫出來.
import turtle def draw_art(): window=turtle.Screen() window.bgcolor("blue") #創(chuàng)建一個(gè)Turtle的實(shí)例這里用了類的概念,實(shí)例化一個(gè)Turtle。類的概念后面文章會(huì)講 brad=turtle.Turtle() brad.shape("turtle")#形狀是一個(gè)海龜除了畫海龜還可以畫箭頭,圓圈等等 brad.color("orange")#顏色是橙色 brad.speed('fast')#畫的速度是快速 window.exitonclick()#當(dāng)點(diǎn)擊一下窗口會(huì)自動(dòng)關(guān)閉 draw_art()#調(diào)用函數(shù)
3.畫一個(gè)海龜走兩步的圖
我們讓海龜在圖上走100步,然后再往下45度走100步
import turtle def draw_art(): window=turtle.Screen() window.bgcolor("blue") brad=turtle.Turtle()#創(chuàng)建一個(gè)Turtle的實(shí)例 brad.shape("turtle")#形狀是一個(gè)海龜除了畫海龜還可以畫箭頭,圓圈等等 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.畫出一個(gè)菱形
剛才我們已經(jīng)畫來2邊,一個(gè)完整的菱形還差2邊,所以我們只需要把剛才走的路循環(huán)一下,把剛才的幾步抽象成一個(gè)小函數(shù)(把代碼抽取成一個(gè)獨(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)建一個(gè)Turtle的實(shí)例 brad.shape("turtle")#形狀是一個(gè)海龜除了畫海龜還可以畫箭頭,圓圈等等 brad.color("orange")#顏色是橙色 brad.speed('fast')#畫的速度是快速 draw_diamond(brad)#抽象一個(gè)新的函數(shù),專門畫菱形 window.exitonclick() draw_art()#調(diào)用函數(shù)
5.畫出一朵漂亮的花
前面的4步我們已經(jīng)可以畫出一個(gè)菱形了,其實(shí)這個(gè)菱形是我們要畫一個(gè)花瓣,接著我們主要把菱形向右旋轉(zhuǎn)10度,然后繼續(xù)畫一個(gè)花瓣出來,這樣循環(huán)一周360度,就花出一個(gè)漂亮的花了,最后當(dāng)海龜回到花心的時(shí)候,我們把海龜?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)建一個(gè)Turtle的實(shí)例 brad.shape("turtle")#形狀是一個(gè)海龜除了畫海龜還可以畫箭頭,圓圈等等 brad.color("orange")#顏色是橙色 brad.speed('fast')#畫的速度是快速 for i in range(1,37):#循環(huán)36次 draw_diamond(brad)#單畫一個(gè)菱形也就是花瓣 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中turtle作圖示例
python繪制鉛球的運(yùn)行軌跡代碼分享
python+opencv實(shí)現(xiàn)的簡單人臉識別代碼示例
如有不足之處,歡迎留言指出。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
