Python 使用 Turtle 库绘制动态彩色爱心动画
代码整体功能概述
借助 Python 的turtle库完成核心功能。整个程序的核心在于绘制一个动态且色彩丰富的爱心,并在爱心中心周期性地显示动态文字。程序运行时,爱心会不断改变大小和颜色,同时文字也会适时更新,最终呈现出一个充满活力与浪漫气息的爱心动画。
利用 Python turtle 库绘制动态彩色爱心动画。程序初始化黑色背景画布,定义多种颜色列表及爱心绘制函数。主循环中爱心随时间缩放变色,中心位置周期性切换显示 Love、Forever 等文字。代码结构清晰,涵盖绘图逻辑、动画控制及文本渲染,适用于图形编程入门练习。

借助 Python 的turtle库完成核心功能。整个程序的核心在于绘制一个动态且色彩丰富的爱心,并在爱心中心周期性地显示动态文字。程序运行时,爱心会不断改变大小和颜色,同时文字也会适时更新,最终呈现出一个充满活力与浪漫气息的爱心动画。
import turtle
import time
# 设置画布和画笔
screen = turtle.Screen()
screen.setup(width=800, height=600)
screen.bgcolor("black")
screen.title("浪漫爱心")
pen = turtle.Turtle()
pen.speed(0)
pen.hideturtle()
# 定义颜色列表
colors = ["red", "pink", "orange", "purple", "yellow"]
# 定义爱心函数
def draw_heart(size, color):
pen.color(color)
pen.fillcolor(color)
pen.pensize(2)
pen.penup()
pen.goto(0, -size)
pen.pendown()
pen.begin_fill()
pen.left(140)
pen.forward(18 * size)
pen.circle(-9 * size, 200)
pen.setheading(60)
pen.circle(-9 * size, 200)
pen.forward(18 * size)
pen.end_fill()
# 定义动态文字函数
text_pen = turtle.Turtle()
text_pen.speed(0)
text_pen.color("white")
text_pen.penup()
text_pen.hideturtle()
def show_text(text, size):
text_pen.clear()
text_pen.goto(0, -size // 2)
text_pen.write(text, font=("Arial", size, "bold"))
# 主循环
texts = ["Love", "Forever", "Together"]
for i in range(100):
color = colors[i % len(colors)]
size = 10 - i // 10
draw_heart(size, color)
if i % 10 == 0:
text = texts[i // 30 % len(texts)]
show_text(text, size * 5)
time.sleep(0.1)
pen.clear()
# 保持窗口打开
turtle.done()
导入turtle和time库。turtle库模拟海龟绘图,通过前进、后退、左转、右转等指令绘制图形。time库控制时间流程,实现动画流畅播放。创建画布对象screen,设置宽度 800 像素、高度 600 像素,背景色为黑色。创建画笔对象pen,速度设为最快(speed(0)),并隐藏画笔形状以避免干扰画面。
定义颜色列表colors,包含红、粉、橙、紫、黄等多种颜色。程序在后续绘制过程中循环使用这些颜色,让爱心不断变换色彩。
draw_heart函数接受size和color参数。设置画笔颜色和填充颜色,画笔粗细为 2。抬起画笔移动至起始位置(0, -size),放下画笔开始绘制。通过旋转 140 度、移动距离、绘制圆弧(半径负值表示向左弯曲)等命令组合成爱心形状,最后封闭图形并结束填充。
创建新画笔对象text_pen专门用于显示文字,速度最快,颜色白色,隐藏画笔。show_text函数清除旧文字,移动至爱心中心位置(0, -size // 2),使用write方法显示文字,字体 Arial,加粗。
定义文字列表texts。循环执行 100 次,根据索引选择颜色和大小。调用draw_heart绘制爱心。每 10 次循环切换一次文字,调用show_text显示。每次绘制后暂停 0.1 秒,清除画布以实现动态效果。
使用turtle.done()保持窗口打开,直到用户关闭。
利用 Python 的turtle库实现了动态彩色爱心动画,并在中心显示动态文字。代码展示了 Python 的绘图功能,可根据喜好修改颜色、文字和速度,适用于节日表达或编程练习。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online