詳解用Python練習畫個美隊盾牌
0 環(huán)境
Python版本:3.6.6
操作系統(tǒng):Mac OS Mojave 10.14.2
1 引言
最近我媳婦每天晚上吃飯時候也拿手機看,上廁所也在看。
看著看著還會笑?WTF?你在干嘛呢?
沒錯,她在看美隊……
這男人比我?guī)洠俊?/p>
比我有錢?……
還是比我有腔調(diào)?……
答案很明顯,我相信你們的眼睛都是雪亮的。
那問題來了,作為一個男人,怎么能忍?雖然是個明星,雖然是假的,雖然已經(jīng)挽回不了敗局了……那我就送個美隊的盾牌給你吧……
這篇文章不是Turtle的入門篇,所以關(guān)于基本的畫筆使用小胖不在這篇里贅述了。有興趣的可以留言,我會根據(jù)你們的反饋來寫一篇或者一個系列。
2 實戰(zhàn)
先來看一個效果圖:
用過Turtle的都知道,畫筆是需要抬手和落筆的。這一點一定要理解,因為計算機是很死板的,你的每一個動作都必須告訴他,包括GC。
所以你的畫筆一旦落下,經(jīng)過的每一處都會留下字跡。如果希望隔開一段距離就需要經(jīng)過「抬筆」->「移動畫筆」->「落筆」。
所以我們先把這個動作封裝成一個函數(shù):
def setpen(x, y): # 抬筆 t.penup() # 移動畫筆到(x, y) t.goto(x, y) # 落筆 t.pendown() t.setheading(0)
接下來就來畫盾牌。盾牌的話,注意觀察美隊盾牌,顏色是「紅」->「白」->「紅」->「藍」。
這里有一個技巧,就是后面填充的圓圈背景色是可以覆蓋之前畫的圓圈的背景色。
def circle(x, y, r, color): # 為了保證畫出的圓夠圓,所以我們把圓的邊設(shè)置的多一些 n = 36 angle = 360 / n pi = 3.1415926 # 周長 c = 2 * pi * r # 每條邊的長度 l = c / n # 起始位置 start_x = x - l / 2 start_y = y + r # 移動畫筆 setpen(start_x, start_y) # 選擇畫筆顏色 t.pencolor(color) # 選擇背景色 t.fillcolor(color) # 填充 t.begin_fill() for i in range(n): t.forward(l) t.right(angle) t.end_fill()
接下來就是畫里面那個白色的五角星了,這里就不注釋了,因為和畫圈的過程差不多。
def five_star(l): setpen(0, 0) t.setheading(162) t.forward(150) t.setheading(0) t.fillcolor('WhiteSmoke') t.begin_fill() t.hideturtle() t.penup() for i in range(5): t.forward(l) t.right(144) t.end_fill()
主函數(shù):
def sheild(): circle(0, 0, 300, 'red') circle(0, 0, 250, 'white') circle(0, 0, 200, 'red') circle(0, 0, 150, 'blue') five_star(284) if __name__ == '__main__': sheild() # 結(jié)束烏龜圖 turtle.done()
以上所述是小編給大家介紹的用Python練習畫個美隊盾牌詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Python常用類型轉(zhuǎn)換實現(xiàn)代碼實例
這篇文章主要介紹了Python常用類型轉(zhuǎn)換實現(xiàn)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07python3文件復制、延遲文件復制任務的實現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于python3文件復制、延遲文件復制任務的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python3具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-09-09Python實現(xiàn)為Excel中每個單元格計算其在文件中的平均值
這篇文章主要為大家詳細介紹了如何基于Python語言實現(xiàn)對大量不同的Excel文件加以跨文件、逐單元格平均值計算,感興趣的小伙伴可以跟隨小編一起學習一下2023-10-10