Python 使用 Turtle 库绘制爱心与树木表白源码详解

沿途有光
沿途有光
发布时间:2026-10-13 | 5人浏览过
原创

本文分享基于 Python Turtle 库的浪漫表白源码,通过绘制爱心与树木展示程序员的浪漫。文章详细列出所需依赖包 turtle 和 random,提供完整可运行代码及运行效果说明,适合 Python 初学者学习图形绘制与递归逻辑。

Python 浪漫表白源码介绍

程序员的生活同样需要浪漫。此前小博在网络中搜集了大量相关代码,但发现许多并非最新版本,因此重新整理并优化了代码,现分享给各位博友参考。

环境依赖与安装

运行该程序需要安装特定的依赖库。

通过命令 pip install 安装对应包名,主要依赖库为 turtle 2 和 random。

完整代码实现

以下是完整的程序源代码。

核心绘图逻辑


# Project Leader:刘
# Project:表白源码
import turtle
import random

def love(x,y):#在(x,y)处画爱心lalala
 lv=turtle.Turtle()
 lv.hideturtle()
 lv.up()

 lv.goto(x,y)#定位到(x,y)
 def curvemove():#画圆弧
 for i in range(20):
 lv.right(10)
 lv.forward(2)
 lv.color('red','pink')
 lv.speed(10000000)

 lv.pensize(1)

 #开始画爱心lalala
 lv.down()
 lv.begin_fill()
 lv.left(140)

 lv.forward(22)
 curvemove()
 lv.left(120)
 curvemove()
 lv.forward(22)
 lv.write("名字",font=("Arial",12,"normal"),align="center")#写上表白的人的名字

 lv.left(140)#画完复位

 lv.end_fill()

def tree(branchLen,t):
 if branchLen > 5:#剩余树枝太少要结束递归
 if branchLen<20:

 t.color("green")
 t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))
 t.down()
 t.forward(branchLen)
 love(t.xcor(),t.ycor())#传输现在turtle的坐标
 t.up()
 t.backward(branchLen)
 t.color("brown")

 return

 t.pensize(random.uniform((branchLen+5)/4-2,(branchLen+6)/4+5))
 t.down()
 t.forward(branchLen)
 # 以下递归
 ang=random.uniform(15,45)
 t.right(ang)
 tree(branchLen-random.uniform(12,16),t)#随机决定减小长度
 t.left(2*ang)
 tree(branchLen-random.uniform(12,16),t)#随机决定减小长度
 t.right(ang)
 t.up()
 t.backward(branchLen)

myWin = turtle.Screen()
t = turtle.Turtle()
t.hideturtle()
t.speed(1000)
t.left(90)
t.up()
t.backward(200)
t.down()
t.color("brown")
t.pensize(32)
t.forward(60)
tree(100,t)

myWin.exitonclick()

运行效果展示

程序运行后的视觉效果展示。

总结

以上就是本文的全部内容,希望能为各位的学习带来帮助,也欢迎大家继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表