Python&七夕程序员的小浪漫一一樱花树

Posted 董不会i

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python&七夕程序员的小浪漫一一樱花树相关的知识,希望对你有一定的参考价值。

遇到喜欢的人,每天看到的东西都格外的不一样。这不七夕前一天,日常逛yao~哎不,逛B站,碰巧看到某up主投的七夕稿,竟是用Python的Turtle库画的一颗樱花树。

支持up主一下,上链接:
用Turtle库画一树浪漫的樱花吧~

再上效果图:

乍一看觉得非常有新意,而且还是动态生成的、再加上动人的背景乐《I'm Yours》,一下就吸引住了缺乏浪漫主义的我。因此决定复现一下,稍加改动送给那个她。

使用PyCharm编写代码,代码不算复杂,想了解代码细节的可以参考官方的Turtle库.

项目目录:

一个.py文件和一个.mp3背景音乐文件资源即可,文末有网盘资源。

源码如下:

import turtle as T
import random
import time
import pygame


# 获取背景音乐文件
file = r'Im_Yours.mp3'
pygame.mixer.init()
track = pygame.mixer.music.load(file)
pygame.mixer.music.play()   # 播放


# 画樱花的躯干(60,t)
def Tree(branch, t):
    time.sleep(0.01)
    if branch > 3:
        if 8 <= branch <= 12:
            if random.randint(0, 2) == 0:
                t.color('snow')  # 白
            else:
                t.color('lightcoral')  # 淡珊瑚色
            t.pensize(branch / 3)
        elif branch < 8:
            if random.randint(0, 1) == 0:
                t.color('snow')
            else:
                t.color('lightcoral')  # 淡珊瑚色
            t.pensize(branch / 2)
        else:
            t.color('sienna')  # 赭(zhě)色
            t.pensize(branch / 10)  # 6
        t.forward(branch)
        a = 1.5 * random.random()
        t.right(20 * a)
        b = 1.5 * random.random()
        Tree(branch - 10 * b, t)
        t.left(40 * a)
        Tree(branch - 10 * b, t)
        t.right(20 * a)
        t.up()
        t.backward(branch)
        t.down()


# 掉落的花瓣
def Petal(m, t):
    for i in range(m):
        a = 200 - 400 * random.random()
        b = 10 - 20 * random.random()
        t.up()
        t.forward(b)
        t.left(90)
        t.forward(a)
        t.down()
        t.color('lightcoral')  # 淡珊瑚色
        t.circle(1)
        t.up()
        t.backward(a)
        t.right(90)
        t.backward(b)


# 绘图区域
t = T.Turtle()
# 画布大小
w = T.Screen()
w.setup(width=800, height=700, startx=400, starty=50)
t.hideturtle()  # 隐藏画笔
t.getscreen().tracer(5, 0)
w.screensize(bg='wheat')  # wheat小麦
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')

# 输出文字
printer = T.Turtle()
printer.hideturtle()
printer.penup()
printer.back(200)
printer.write("邹同学,七夕快乐!\\n\\n", align="right", font=("楷体", 14, "bold"))
printer.write("           from 董同学", align="center", font=("楷体", 12, "normal"))


# 画樱花的躯干
Tree(60, t)
# 掉落的花瓣
Petal(200, t)
w.exitonclick()


另外这个樱花树是随机生成的,追求灵动感,有的时候特别鬼畜。想要一个比较好看的树型的话,不妨多运行几次。

最后贴出笔者制作完成后的视频效果:


Python程序员的小浪漫一一樱花树


网盘资源
链接:https://pan.baidu.com/s/1Kj6yARqII3ox4q5DsYBXaw
提取码:hipd

欢迎点赞评论,指出不足,笔者由衷感谢!~

以上是关于Python&七夕程序员的小浪漫一一樱花树的主要内容,如果未能解决你的问题,请参考以下文章

每天好心情——Python画一棵樱花树

每天好心情——Python画一棵樱花树

python教程入门学习七夕情人节表白|Python程序员的花式表白

❤️七夕佳节,用Python制作表白神器,程序员也应该拥有爱情!附源码,建议收藏❤️

❤️马上七夕,不懂浪漫?带你用Python“码”上七夕建议收藏❤️

什么叫程序员的浪漫,只要能用代码做成的都不叫事,Python制作炫酷七夕照片墙