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() 填充颜色

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

相关推荐
catchadmin1 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
念何架构之路1 小时前
go-grpc设计思想
开发语言·后端·golang
酷炫码神2 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
Elastic 中国社区官方博客3 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
tyn1883 小时前
记录本地安装nacos服务的方法及异常
java·开发语言
步行cgn3 小时前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc
传奇开心果编程4 小时前
【Rust入门练中学】第5课:引用与借用
开发语言·rust·引用·编程语言理论·通用编程语言·借用
qetfw4 小时前
Bash 变量:export、位置参数与默认值展开验证
linux·开发语言·chrome·bash
爱上纯净的蓝天4 小时前
不用云做 RAG:一个本地笔记问答工具的取舍与坑
python·开源·大模型·rag·本地部署
电子云与长程纠缠4 小时前
UE5魂系游戏开发教程05
开发语言·学习·游戏·ui·ue5