中秋陰天看不見(jiàn)月亮只好用python寫(xiě)賞月工具
一年中秋至 又見(jiàn)圓月時(shí)

導(dǎo)語(yǔ)
假設(shè)農(nóng)歷八月十五,程序員錯(cuò)過(guò)了今年的中秋圓月。
▼
程序員的苦只有他們寄幾知道
bug,bug,bug,bug,bug,bug……
吃飯時(shí)在改bug,走路時(shí)在改bug,約會(huì)時(shí)在改bug,結(jié)婚時(shí)在改bug
就連中秋佳節(jié)也還!在!改!bug!
▼
不過(guò)做為一枚上知《邊城》下知編程的程序員,沒(méi)有什么可以難倒他
“不就是中秋的圓月亮嗎?”三分鐘以后…程序員自己用Python畫(huà)了一個(gè)
Python版中秋圓月!甚至可以的話(huà),我每天都可以賞月過(guò)中秋~
正文
環(huán)境安裝:使用turtle繪制、游戲模塊pygame模塊照舊。
(1)首先繪制圓月。
def drawMoon(): turtle.penup() #畫(huà)筆拿起 turtle.goto(-150, 0) turtle.fillcolor((255, 215, 0)) #圓月的顏色 turtle.pendown() #畫(huà)筆放下 turtle.begin_fill() turtle.circle(112) turtle.end_fill() #turtle.begin_fill() 到turtle.end_fill() 顏色填充
(2)然后繪制云層。
稍微有點(diǎn)兒復(fù)雜,因?yàn)樵剖秋h動(dòng)的,所以比月亮難一點(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)界面就有音樂(lè)播放。
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)繪制詩(shī)句。
def writePoetry():
turtle.penup()
turtle.goto(400, -150)
turtle.pencolor((250, 240, 230))
# 詩(shī)句
potery = ["\n明\n月\n幾\n時(shí)\n有\(zhòng)n", "把\n酒\n問(wèn)\n青\n天\n"]
# 詩(shī)句位置(可自行設(shè)計(jì)添加), 最好2/4句五言詩(shī)
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)于中秋陰天看不見(jiàn)月亮只好用python寫(xiě)賞月工具的文章就介紹到這了,更多相關(guān)python 月亮內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python對(duì)字符串實(shí)現(xiàn)去重操作的方法示例
字符串去重是python中字符串操作常見(jiàn)的一個(gè)需求,最近在工作中就又遇到了,所以下面這篇文章主要給大家介紹了關(guān)于Python對(duì)字符串實(shí)現(xiàn)去重操作的相關(guān)資料,文中給出了詳細(xì)的介紹,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-08-08
PyTorch 編寫(xiě)代碼遇到的問(wèn)題及解決方案
這篇文章主要介紹了PyTorch 編寫(xiě)代碼遇到的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2021-06-06
Python監(jiān)聽(tīng)剪切板實(shí)現(xiàn)方法代碼實(shí)例
這篇文章主要介紹了Python監(jiān)聽(tīng)剪切板實(shí)現(xiàn)方法代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Python基于百度AI實(shí)現(xiàn)OCR文字識(shí)別
這篇文章主要介紹了Python基于百度AI實(shí)現(xiàn)OCR文字識(shí)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
一文解密Python中_getattr_和_getattribute_的用法與區(qū)別
這篇文章主要為大家詳細(xì)介紹了Python中_getattr_和_getattribute_的用法與區(qū)別,文中通過(guò)一些簡(jiǎn)單的示例為大家進(jìn)行了講解,需要的可以參考一下2023-01-01
樹(shù)莓派啟動(dòng)python的實(shí)現(xiàn)方法
本文主要介紹了樹(shù)莓派啟動(dòng)python的實(shí)現(xiàn)方法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02

