跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

Python 使用 Turtle 库绘制动态彩色爱心动画

利用 Python turtle 库绘制动态彩色爱心动画。程序初始化黑色背景画布,定义多种颜色列表及爱心绘制函数。主循环中爱心随时间缩放变色,中心位置周期性切换显示 Love、Forever 等文字。代码结构清晰,涵盖绘图逻辑、动画控制及文本渲染,适用于图形编程入门练习。

追风少年发布于 2025/12/3更新于 2026/10/2293 浏览
Python 使用 Turtle 库绘制动态彩色爱心动画

Python 使用 Turtle 库绘制动态彩色爱心动画

代码整体功能概述

借助 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, ))


texts = [, , ]
 i  ():
    color = colors[i % (colors)]
    size =  - i // 
    draw_heart(size, color)
     i %  == :
        text = texts[i //  % (texts)]
        show_text(text, size * )
    time.sleep()
    pen.clear()


turtle.done()
"bold"
# 主循环
"Love"
"Forever"
"Together"
for
in
range
100
len
10
10
if
10
0
30
len
5
0.1
# 保持窗口打开

代码详细解析

1. 初始化设置

导入turtle和time库。turtle库模拟海龟绘图,通过前进、后退、左转、右转等指令绘制图形。time库控制时间流程,实现动画流畅播放。创建画布对象screen,设置宽度 800 像素、高度 600 像素,背景色为黑色。创建画笔对象pen,速度设为最快(speed(0)),并隐藏画笔形状以避免干扰画面。

2. 定义颜色列表

定义颜色列表colors,包含红、粉、橙、紫、黄等多种颜色。程序在后续绘制过程中循环使用这些颜色,让爱心不断变换色彩。

3. 爱心绘制函数

draw_heart函数接受size和color参数。设置画笔颜色和填充颜色,画笔粗细为 2。抬起画笔移动至起始位置(0, -size),放下画笔开始绘制。通过旋转 140 度、移动距离、绘制圆弧(半径负值表示向左弯曲)等命令组合成爱心形状,最后封闭图形并结束填充。

4. 动态文字函数

创建新画笔对象text_pen专门用于显示文字,速度最快,颜色白色,隐藏画笔。show_text函数清除旧文字,移动至爱心中心位置(0, -size // 2),使用write方法显示文字,字体 Arial,加粗。

5. 主循环

定义文字列表texts。循环执行 100 次,根据索引选择颜色和大小。调用draw_heart绘制爱心。每 10 次循环切换一次文字,调用show_text显示。每次绘制后暂停 0.1 秒,清除画布以实现动态效果。

6. 保持窗口打开

使用turtle.done()保持窗口打开,直到用户关闭。

总结

利用 Python 的turtle库实现了动态彩色爱心动画,并在中心显示动态文字。代码展示了 Python 的绘图功能,可根据喜好修改颜色、文字和速度,适用于节日表达或编程练习。

目录

  1. Python 使用 Turtle 库绘制动态彩色爱心动画
  2. 代码整体功能概述
  3. 完整代码展示
  4. 设置画布和画笔
  5. 定义颜色列表
  6. 定义爱心函数
  7. 定义动态文字函数
  8. 主循环
  9. 保持窗口打开
  10. 代码详细解析
  11. 1. 初始化设置
  12. 2. 定义颜色列表
  13. 3. 爱心绘制函数
  14. 4. 动态文字函数
  15. 5. 主循环
  16. 6. 保持窗口打开
  17. 总结

更多推荐文章

查看全部
  • 归并排序详解:分治策略与 C 语言实战
  • Whisper 模型国内镜像源汇总与快速下载指南
  • python基于微信小程序的智能家居监控系统的设计与实现_np5proa3
  • IronClaw 简介、安装使用与案例应用详解
  • 二分查找实战:山峰数组峰顶索引与寻找峰值
  • MySQL 表的内连接与外连接
  • openclaw-termux:在 Android 部署 OpenClaw AI Gateway(含 App 与终端)
  • 前端正则表达式实战指南:语法、API 与高频场景避坑
  • AI 智能填表助手:基于大模型的 Web 表单自动填写工具
  • Ubuntu 24.04 下使用 Docker Compose 本地部署 Whisper 服务
  • QClaw 接入微信:AI Agent 从“聊天”迈向“执行”的实战观察
  • OpenClaw 接入飞书机器人并集成 Ollama 本地大模型实战
  • 数据结构基础:二叉树与堆的实现详解
  • WSL 安装配置指南:Ubuntu 子系统部署与常用命令
  • 持续集成选型:Jenkins 与 GitLab CI 对比
  • 非标自动化教学系列课程
  • 命令行下利用 MCP 协议与大模型交互的工具:MCPHost 实战
  • 网络安全入门教程:从零基础到精通的详细指南
  • 30 岁程序员转行大模型:优势分析、技术路径与实战指南
  • 基于 Termux 在 Android 部署 OpenClaw 实现移动 AI 助理

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online