用python畫個敬業(yè)福字代碼
前言
春節(jié)快到了,一年一度的支付寶集五福活動就要來了,阿牛也是突發(fā)奇想,看能不能用python的turtle庫畫個"福"字,試了很久,我的這個“福“”字終于看起來可以了,現(xiàn)將源碼分享給大家,拿過去放到python的環(huán)境中就可以直接運行哦!嘿嘿嘿!這五福手到擒來啦!
海龜畫筆的介紹
海龜繪圖是 Python 內置的一個比較有趣的模塊,模塊名稱為 turtle,并且依賴python內置的tkinter模塊。它最初源于 20世紀60年代 的 Logo 語言,之后成為了 Python 的內置模塊。海龜繪圖提供了一些簡單的繪圖方法,可以根據(jù)編寫的控制指令(代碼),讓一個 “海龜” 在屏幕上來回移動,而且可以在它爬行的路徑上繪制圖形。通過海龜繪圖,不僅可以在屏幕上繪制圖形,還可以看到整個繪制過程。另外,海龜繪圖對初學者十分友好,它能夠輕松地編寫出很多有趣的實例。
海龜繪圖的三要素:
采用海龜繪圖有三個關鍵要素,即方向、位置和畫筆。在進行海龜繪圖時,主要就是控制這些要素來繪出我們想要的圖形。
主要方法:
方向: 在進行海龜繪圖時,方向主要用于控制海龜?shù)囊苿臃较颉?/p>
left()/lt() 方法:讓海龜左轉 (逆時針) 指定度數(shù)。 right()/rt() 方法:讓海龜右轉 (順時針) 指定度數(shù)。 setheading()/seth() 方法:設置海龜?shù)某驗?(東)、90(北)、180(西)或 270(南)
位置: 在進行海龜繪圖時,位置主要用于控制海龜移動的距離。
forward(distance)/fd(distance):讓海龜向前移動指定距離。 backward(distance)/bk(distance):讓海龜向后退指定距離。 goto(x,y):讓海龜移動到畫布中的特定位置。即坐標 (x,y) 所指定的位置。 setx(x):設置海龜?shù)臋M坐標到 x,縱坐標不變。 sety(y):設置海龜?shù)目v坐標到 y,橫坐標不變。 home():海龜移至初始坐標(0,0),并設置朝向為初始方向。
畫筆:海龜繪圖中的畫筆就相當于現(xiàn)實生活中繪圖所用的畫筆。在海龜繪圖中,通過畫筆可以控制線條的粗細、顏色和運動的速度。
pensize() 設置畫筆的寬度(畫筆線條粗細為指定大?。? pencolor() 沒有參數(shù)傳入,返回當前畫筆顏色,傳入?yún)?shù)設置畫筆顏色,可以是字符串如"green","red",也可以是rgb顏色元組。 speed(speed) 設置畫筆移動速度,畫筆繪制的速度范圍[0,10]整數(shù),數(shù)字越大畫的越快。
“福”字源碼
from turtle import *
screensize(800,600,"red") #設置畫布大小,且將背景變?yōu)榧t色
pensize(50) #畫筆大小
pencolor('black') #畫筆顏色
shape("circle") #形狀為圓
speed(3) #畫筆速度,參數(shù)越大,速度越快
"""繪制福字左側偏旁"""
#畫點
seth(-60) #畫筆方向(參數(shù)相當于度數(shù))
penup() #抬筆
bk(240) #后退
seth(-45)
pendown() #落筆
fd(50) #前進
#畫橫
seth(45),penup(),bk(135)
seth(15),pendown(),fd(135)
#畫撇
seth(-125),pendown(),fd(200)
#畫豎
seth(55),penup(),fd(150)
seth(-90),pendown(),fd(220)
#畫點
seth(90),penup(),fd(220)
seth(-45),pendown(),fd(60)
"""畫福字右側部分"""
#######畫一
seth(70),penup(),fd(190)
seth(10),pendown(),fd(120)
#######畫口
seth(38),penup(),bk(150)
#畫豎
seth(-85),pendown(),fd(85),penup(),bk(85)
#畫橫
seth(10),pendown(),fd(120)
#畫豎
seth(-95),pendown(),fd(90)
#畫橫
seth(9),penup(),bk(95),pendown(),fd(95)
#######畫田
seth(38),penup(),bk(165)
#畫豎
seth(-85),pendown(),fd(110),penup(),bk(110)
#畫橫
seth(10),pendown(),fd(175)
#畫豎
seth(-95),pendown(),fd(145)
#畫口里的橫
penup(),bk(85),pensize(30)
seth(-170),fd(150),pendown(),bk(150)
#畫口里的豎
seth(165),penup(),fd(85)
seth(-90),pendown(),fd(90)
#畫橫
seth(4),penup(),bk(60),pendown(),pensize(50),fd(120)
hideturtle() #隱藏畫筆的turtle形狀
mainloop() #tkinter模塊的事件循環(huán)函數(shù),讓幕布畫完圖不關閉,等價于done()
結果展示

總結
到此這篇關于用python畫個敬業(yè)福字代碼的文章就介紹到這了,更多相關python畫福內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳盡講述用Python的Django框架測試驅動開發(fā)的教程
這篇文章主要介紹了詳盡講述用Python的Django框架測試驅動開發(fā)的教程,主要使用TDD工具,全文介紹非常詳細,需要的朋友可以參考下2015-04-04
PHP webshell檢查工具 python實現(xiàn)代碼
Web安全應急響應中,不免要檢查下服務器上是否被上傳了webshell,手工檢查比較慢,就寫了個腳本來檢查了。Windows平臺下已經有了lake2寫的雷克圖的了,一般的檢查也夠用了,寫了個Linux下面的,用python寫的。2009-09-09
python中使用numpy包的向量矩陣相乘np.dot和np.matmul實現(xiàn)
本文主要介紹了python中使用numpy包的向量矩陣相乘np.dot和np.matmul實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02
Python過濾掉numpy.array中非nan數(shù)據(jù)實例
這篇文章主要介紹了Python過濾掉numpy.array中非nan數(shù)據(jù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

