中秋阴天看不见月亮只好用python写赏月工具

 更新时间:2021年09月20日 13:29:55   作者:顾木子吖  
女神约我去赏月!我一看中秋节可能会下雨,立马用Python写了款赏月工具!本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下

一年中秋至 又见圆月时

导语

假设农历八月十五,程序员错过了今年的中秋圆月。

程序员的苦只有他们寄几知道

bug,bug,bug,bug,bug,bug……

吃饭时在改bug,走路时在改bug,约会时在改bug,结婚时在改bug

就连中秋佳节也还!在!改!bug!

不过做为一枚上知《边城》下知编程的程序员,没有什么可以难倒他

“不就是中秋的圆月亮吗?”三分钟以后…程序员自己用Python画了一个

Python版中秋圆月!甚至可以的话,我每天都可以赏月过中秋~

正文

环境安装:使用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)然后绘制云层。

稍微有点儿复杂,因为云是飘动的,所以比月亮难一点。

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)设置界面,进界面就有音乐播放。

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时\n有\n", "把\n酒\n问\n青\n天\n"]
	# 诗句位置(可自行设计添加), 最好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])

​效果图:

总结

中秋赏月,木木子就先带你们先赏为敬了哈~

到此这篇关于中秋阴天看不见月亮只好用python写赏月工具的文章就介绍到这了,更多相关python 月亮内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python对字符串实现去重操作的方法示例

    Python对字符串实现去重操作的方法示例

    字符串去重是python中字符串操作常见的一个需求,最近在工作中就又遇到了,所以下面这篇文章主要给大家介绍了关于Python对字符串实现去重操作的相关资料,文中给出了详细的介绍,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • PyTorch 编写代码遇到的问题及解决方案

    PyTorch 编写代码遇到的问题及解决方案

    这篇文章主要介绍了PyTorch 编写代码遇到的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。
    2021-06-06
  • Python CSV模块使用实例

    Python CSV模块使用实例

    这篇文章主要介绍了Python CSV模块使用实例,本文将举几个例子来介绍一下Python的CSV模块的使用方法,包括reader、writer、DictReader、DictWriter.register_dialect等,需要的朋友可以参考下
    2015-04-04
  • Python监听剪切板实现方法代码实例

    Python监听剪切板实现方法代码实例

    这篇文章主要介绍了Python监听剪切板实现方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python基于百度AI实现OCR文字识别

    Python基于百度AI实现OCR文字识别

    这篇文章主要介绍了Python基于百度AI实现OCR文字识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 利用aardio给python编写图形界面

    利用aardio给python编写图形界面

    这篇文章主要为大家详细介绍了利用aardio给python编写图形界面的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 一文解密Python中_getattr_和_getattribute_的用法与区别

    一文解密Python中_getattr_和_getattribute_的用法与区别

    这篇文章主要为大家详细介绍了Python中_getattr_和_getattribute_的用法与区别,文中通过一些简单的示例为大家进行了讲解,需要的可以参考一下
    2023-01-01
  • 详解python中常用配置的读取方法

    详解python中常用配置的读取方法

    常见的应用配置方式有环境变量和配置文件,对于微服务应用,还会从配置中心加载配置,本文主要介绍了从环境变量、.env文件、.ini文件、.yaml文件等文件的读取配置,需要的可以参考下
    2024-01-01
  • Python可迭代对象操作示例

    Python可迭代对象操作示例

    这篇文章主要介绍了Python可迭代对象操作,涉及Python列表生成式、迭代器、数据遍历等相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • 树莓派启动python的实现方法

    树莓派启动python的实现方法

    本文主要介绍了树莓派启动python的实现方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02

最新评论