【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

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

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值