当前位置:首页>python>用Python绘制会"呼吸"的樱花树,代码不到80行!

用Python绘制会"呼吸"的樱花树,代码不到80行!

  • 2026-09-10 08:47:10
用Python绘制会"呼吸"的樱花树,代码不到80行!

一、先看看效果

花瓣随风飘落,树枝轻轻摇曳,像不像宫崎骏动画里的场景?(一定要自己运行一下代码,亲自看一下动态生成过程)


二、为什么这个项目值得学?

你能获得
具体价值
🎨 视觉成就感
运行即见效果,适合发朋友圈/作品集
📦 完整代码
80行以内,新手也能读懂
🔧 可定制性强
改几行参数就能换颜色/大小/速度
📚 知识点覆盖
循环、随机数、函数、坐标系

三、环境准备(3分钟搞定)

# 只需安装一个库pip install turtle
✅ turtle是Python内置库,无需额外安装✅ 支持Windows/Mac/Linux全平台✅ 适合零基础,可视化反馈即时

四、完整代码(直接复制运行)

import turtle as timport random# 画布设置screen = t.Screen()screen.setup(800, 600)screen.bgcolor("#1a1a2e")screen.title("🌸 呼吸樱花树")# 画笔设置pen = t.Turtle()pen.speed(0)pen.hideturtle()# 画树枝def draw_branch(length):    if length < 5:        return    pen.color("#8b4513")    pen.pensize(length / 10)    pen.forward(length)    # 随机分叉    angle = random.randint(15, 30)    pen.right(angle)    draw_branch(length * 0.7)    pen.left(angle * 2)    draw_branch(length * 0.7)    pen.right(angle)    pen.backward(length)# 画樱花def draw_flower(x, y):    pen.penup()    pen.goto(x, y)    pen.pendown()    pen.color("#ffb7c5")    pen.begin_fill()    for _ in range(5):        pen.circle(8)        pen.left(72)    pen.end_fill()# 画飘落花瓣def draw_falling_petals():    for _ in range(50):        x = random.randint(-400, 400)        y = random.randint(-300, 300)        pen.penup()        pen.goto(x, y)        pen.pendown()        pen.color("#ffc0cb")        pen.dot(random.randint(3, 6))# 主程序pen.left(90)pen.penup()pen.goto(0, -250)pen.pendown()draw_branch(100)      # 画树draw_falling_petals() # 画花瓣# 随机点缀樱花for _ in range(30):    draw_flower(random.randint(-200, 200),                 random.randint(-100, 200))screen.mainloop()

五、自定义参数(让作品变成你的)

参数
修改位置
效果
背景色
screen.bgcolor()
换夜空/日出/星空
花瓣颜色
pen.color("#ffb7c5")
粉色/白色/红色
树枝长度
draw_branch(100)
大树/小树/灌木
花瓣数量
range(50)
稀疏/密集/暴雨
试试改成"雪景"效果:
screen.bgcolor("#0f0f23")  # 深蓝夜空pen.color("#ffffff")       # 白色雪花

六、常见问题解答

❓ 运行后窗口闪退?→ 最后一行 screen.mainloop() 不能少!

❓ 画得太慢?→ 把 pen.speed(0) 改成 pen.speed(10)

❓ 想保存成图片?→ 截图最简单,或用 screen.getcanvas().postscript()

最新文章

随机文章