中秋陰天看不見月亮只好用python寫賞月工具
一年中秋至 又見圓月時(shí)
導(dǎo)語
假設(shè)農(nóng)歷八月十五,程序員錯過了今年的中秋圓月。
▼
程序員的苦只有他們寄幾知道
bug,bug,bug,bug,bug,bug……
吃飯時(shí)在改bug,走路時(shí)在改bug,約會時(shí)在改bug,結(jié)婚時(shí)在改bug
就連中秋佳節(jié)也還!在!改!bug!
▼
不過做為一枚上知《邊城》下知編程的程序員,沒有什么可以難倒他
“不就是中秋的圓月亮嗎?”三分鐘以后…程序員自己用Python畫了一個
Python版中秋圓月!甚至可以的話,我每天都可以賞月過中秋~
正文
環(huán)境安裝:使用turtle繪制、游戲模塊pygame模塊照舊。
(1)首先繪制圓月。
def drawMoon(): turtle.penup() #畫筆拿起 turtle.goto(-150, 0) turtle.fillcolor((255, 215, 0)) #圓月的顏色 turtle.pendown() #畫筆放下 turtle.begin_fill() turtle.circle(112) turtle.end_fill() #turtle.begin_fill() 到turtle.end_fill() 顏色填充
(2)然后繪制云層。
稍微有點(diǎn)兒復(fù)雜,因?yàn)樵剖秋h動的,所以比月亮難一點(diǎn)。
def drawCloud(): turtle.penup() turtle.goto(-500, 200) turtle.fillcolor((245, 245, 245)) turtle.pencolor((255, 255, 255)) turtle.pensize(5) turtle.pendown() turtle.forward(250) def cloud(mode='right'): for i in range(90): turtle.pensize((i+1)*0.2+5) turtle.right(1) if mode == 'right' else turtle.left(1) turtle.forward(0.5) for i in range(90): turtle.pensize(90*0.2+5-0.2*(i+1)) turtle.right(1) if mode == 'right' else turtle.left(1) turtle.forward(0.5) cloud() turtle.forward(100) cloud('left') turtle.forward(600)
(3)繪制山川。
def drawMountain(): turtle.penup() turtle.goto(-500, -250) turtle.pensize(4) turtle.fillcolor((36, 36, 36)) turtle.pencolor((31, 28, 24)) turtle.pendown() turtle.begin_fill() turtle.left(20) turtle.forward(400) turtle.right(45) turtle.forward(200) turtle.left(60) turtle.forward(300) turtle.right(70) turtle.forward(300) turtle.goto(500, -300) turtle.goto(-500, -300) turtle.end_fill()
(4)設(shè)置界面,進(jìn)界面就有音樂播放。
def initTurtle(): pygame.mixer.init() pygame.mixer.music.load('bgm.mp3') pygame.mixer.music.play(-1, 20.0) turtle.hideturtle() turtle.setup(1000, 600) turtle.title('中秋賞月') turtle.colormode(255) turtle.bgcolor((193, 210, 240)) turtle.speed(10)
(5)繪制詩句。
def writePoetry(): turtle.penup() turtle.goto(400, -150) turtle.pencolor((250, 240, 230)) # 詩句 potery = ["\n明\n月\n幾\n時(shí)\n有\(zhòng)n", "把\n酒\n問\n青\n天\n"] # 詩句位置(可自行設(shè)計(jì)添加), 最好2/4句五言詩 coordinates = [(300, -150), (200, -150), (100, -150)] for i, p in enumerate(potery): turtle.write(p, align="center", font=("STXingkai", 50, "bold")) if (i + 1) != len(potery): time.sleep(2) turtle.goto(coordinates[i])
效果圖:
總結(jié)
中秋賞月,木木子就先帶你們先賞為敬了哈~
到此這篇關(guān)于中秋陰天看不見月亮只好用python寫賞月工具的文章就介紹到這了,更多相關(guān)python 月亮內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
將Pytorch模型從CPU轉(zhuǎn)換成GPU的實(shí)現(xiàn)方法
今天小編就為大家分享一篇將Pytorch模型從CPU轉(zhuǎn)換成GPU的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08使用PyCharm調(diào)試程序?qū)崿F(xiàn)過程
這篇文章主要介紹了使用PyCharm調(diào)試程序?qū)崿F(xiàn)過程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11Python實(shí)現(xiàn)將藍(lán)底照片轉(zhuǎn)化為白底照片功能完整實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)將藍(lán)底照片轉(zhuǎn)化為白底照片功能,結(jié)合完整實(shí)例形式分析了Python基于cv2庫進(jìn)行圖形轉(zhuǎn)換操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-12-12python實(shí)現(xiàn)html轉(zhuǎn)ubb代碼(html2ubb)
這篇文章主要介紹了python實(shí)現(xiàn)html轉(zhuǎn)ubb代碼(html2ubb),使用正則表達(dá)式寫的一個函數(shù),需要的朋友可以參考下2014-07-07python中enumerate() 與zip()函數(shù)的使用比較實(shí)例分析
這篇文章主要介紹了python中enumerate()與zip()函數(shù)的使用比較,結(jié)合實(shí)例形式分析了enumerate()與zip()函數(shù)的功能、用法及操作注意事項(xiàng),需要的朋友可以參考下2019-09-09Python 模擬動態(tài)產(chǎn)生字母驗(yàn)證碼圖片功能
這篇文章主要介紹了Python 模擬動態(tài)產(chǎn)生字母驗(yàn)證碼圖片,這里給大家介紹了pillow模塊的使用,需要的朋友可以參考下2019-12-12python?DataFrame中stack()方法、unstack()方法和pivot()方法淺析
這篇文章主要給大家介紹了關(guān)于python?DataFrame中stack()方法、unstack()方法和pivot()方法的相關(guān)資料,pandas中這三種方法都是用來對表格進(jìn)行重排的,其中stack()是unstack()的逆操作,需要的朋友可以參考下2022-04-04