如何用 Python 代码绘制赏月美景?

Posted 熬星

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用 Python 代码绘制赏月美景?相关的知识,希望对你有一定的参考价值。

利用下班的空暇时间写了一段关于中秋节的代码,可以实现自动绘制山川、运毒和月亮,以及写出美好的诗句,让你深切陶醉于中秋佳节的节日气氛中。本文中主要是使用到了Python中的turtle库、time库以及pygame库,可以更好的实现动态的效果。我们可以使用 turtle 库绘制月亮、云朵、山以及古诗,游戏模块使用 pygame 库,配上美美的背景音乐。

1. 导入所需要的库(turtle 库、time 库、pygame 库)

1 '''2 Function: 中秋赏月3 Author: 向阳逐梦4 '''5 import turtle6 import time7 import pygame
使用 import 导入需要使用的函数库,实现需要的功能。本文章实现的功能是绘制月亮、云朵和山川的图案和显示古诗句。                                       
2. 绘制月亮和云朵
1def drawMoon():    #绘制月亮 2 turtle.penup()   #画笔拿起  3turtle.goto(-150, 0)  4turtle.fillcolor((255, 215, 0))   #圆月的颜色 5 turtle.pendown()   #画笔放下  6turtle.begin_fill() 7 turtle.circle(112) 8 turtle.end_fill()  #turtle.begin_fill()到turtle.end_fill() 颜色填充9def drawCloud(): #绘制云朵   10turtle.penup()   11turtle.goto(-500, 200)  12 turtle.fillcolor((245, 245, 245))   13turtle.pencolor((255, 255, 255))   14turtle.pensize(5)   15turtle.pendown()  16 turtle.forward(250)  17 def cloud(mode='right'):      18for i in range(90):         19turtle.pensize((i+1)*0.2+5)       20  turtle.right(1) if mode == 'right' else turtle.left(1)         21turtle.forward(0.5)     22for i in range(90):        23turtle.pensize(90*0.2+5-0.2*(i+1))        24turtle.right(1) if mode == 'right' else turtle.left(1)         25turtle.forward(0.5)  26 cloud()   27turtle.forward(100)   28cloud('left')   29  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('zqbg.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圆\\n缺","\\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])

6. 调用主函数​​​​​​​

def main():    initTurtle()    drawMoon()          #绘制月亮    drawCloud()         #绘制云朵    drawMountain()      #绘制山    writePoetry()       #写诗    turtle.done()
if __name__ == '__main__':    main()

7. 背景音乐下载地址

链接:pan.baidu.com/s/1VI5WIDeO…提取码:4ry4

  • 编写代码使用的软件是 pycharm,使用软件之前需要进行软件的环境配置。还需要下载需要的库函数,实现需要的功能。

8. 编译软件截图

 9. 代码运行截图

 10. 在 pycharm 中导入 pygame 库

(1)打开 pycharm 找到 file;

 (2)找到 setting 这个选项;

 (3)打开 setting 后,在窗口的搜索栏中搜索 project,找到你所对应的项目,点击下面的 python interpreter; 

 (4)点击 python Interpreter 后可以看到该项目所导入的库,找到+号点击;

 (5)点击+后但弹出的窗口可以看到可安装的库,搜索 pygame,安装对应模块一般只安装第一个即可,点击 install package 即可进行安装,等一会则安装完成,项目中即可正常使用 pygame 库,若没有 pygame,则有可能是你的 pycharm 还没有这个库,需要进行安装;

 (6)验证是否导入成功,在对应项目中 import pygame 若没有报错则导入成功;

 

     最后你的项目就可以正常编译,并运行看到实际效果了。

 

 

 

              

 

以上是关于如何用 Python 代码绘制赏月美景?的主要内容,如果未能解决你的问题,请参考以下文章

如何用最少的代码在 Python 中绘制不同类型的混淆矩阵?

如何用python绘制红色叹号?

如何用R语言绘制热图

如何用 Python 绘制多边形?

如何用MATHCAD绘制椭圆

❤️如何用Python绘制一个飞机模型??