Python turtle库:用代码绘制创意图形

  1. 初识 turtle

turtle 是 Python 的标准库之一,通过控制一个"画笔"在画布上移动来绘制图形。你可以想象成在纸上画画,画笔可以前进、后退、转弯、改变颜色等。


2. 基础操作

导入库与设置画笔
python 复制代码
import turtle

# 创建画布和画笔
t = turtle.Turtle()
t.speed(0)  # 设置画笔速度(0 最快)
基础移动指令
  • t.forward(100):前进 100 像素
  • t.backward(50):后退 50 像素
  • t.left(90):向左转 90 度
  • t.right(45):向右转 45 度
画笔控制
  • t.penup():抬起画笔(移动时不画线)
  • t.pendown():落下画笔
  • t.pencolor("red"):设置画笔颜色
  • t.pensize(3):设置画笔粗细

3. 绘制简单图形

正方形
python 复制代码
for _ in range(4):
    t.forward(100)
    t.right(90)
等边三角形
python 复制代码
for _ in range(3):
    t.forward(100)
    t.left(120)
五角星
python 复制代码
for _ in range(5):
    t.forward(100)
    t.right(144)  # 内角为 36°,故转角为 180° - 36° = 144°

4. 进阶创作

彩色螺旋
python 复制代码
colors = ["red", "orange", "yellow", "green", "blue", "purple"]
for i in range(100):
    t.pencolor(colors[i % 6])
    t.forward(i)
    t.right(59)  # 调整角度可改变螺旋形状
花朵图案
python 复制代码
t.pensize(2)
for _ in range(24):
    t.circle(50)  # 画半径为 50 的圆
    t.right(15)   # 每次旋转 15°

5. 创意无限

  • 组合图形:将多个图形叠加(如圆 + 多边形)
  • 随机艺术 :用 random 库随机生成颜色、步长或角度
  • 分形树:递归绘制树枝结构(需设计递归逻辑)

6. 保存作品

python 复制代码
# 保存为 PNG 图片
canvas = turtle.getscreen()
canvas.getcanvas().postscript(file="art.eps")  # 先存为 EPS
# 可再用 Pillow 库转为 PNG

小贴士

  • turtle.done() 保持窗口不关闭
  • 调整 t.speed() 可观察绘制过程
  • 尝试 t.begin_fill()t.end_fill() 填充颜色

动手试试吧!用代码画出你的创意~ 🎨

相关推荐
军军君014 分钟前
Three.js基础功能学习十五:智能黑板实现实例二
开发语言·前端·javascript·vue.js·3d·threejs·三维
维齐洛波奇特利(male)8 分钟前
@Pointcut(“execution(* com.hdzx..*(..))“)切入点与aop 导致无限循环
java·开发语言
xcjbqd014 分钟前
SQL中视图能否嵌套存储过程_实现复杂自动化报表逻辑
jvm·数据库·python
ZC跨境爬虫16 分钟前
海南大学交友平台开发实战day7(实现核心匹配算法+解决JSON请求报错问题)
前端·python·算法·html·json
来日可期131417 分钟前
C/C++ 反常识记录(1)—— 那些容易踩坑的语法细节
c语言·开发语言·c++
迷藏49418 分钟前
**发散创新:基于角色与属性的混合权限模型在微服务架构中的实战落地**在现代分布式系统中,
java·python·微服务·云原生·架构
实心儿儿24 分钟前
C++ —— C++11(2)
开发语言·c++
与虾牵手29 分钟前
OpenClaw 和 AiPy 怎么选?2026 功能实测对比 + 踩坑全记录
python·ai编程
Csvn29 分钟前
🌟 LangChain 30 天保姆级教程 · Day 16|文档加载器大合集!PDF、Word、网页、数据库一键读取,构建你的知识库!
python·langchain
rebekk37 分钟前
claude工作区与git仓库的关系
linux·git·python