Python海龟绘图(turtle模块)常考知识点总结
以下是Python海龟绘图(turtle模块)常考知识点总结,附带代码示例:
1. 初始设置
import turtle
t = turtle.Turtle() # 创建海龟对象
t.screen.setup(800, 600) # 设置窗口尺寸
t.screen.bgcolor("lightblue") # 设置背景颜色
t.speed(5) # 设置绘制速度(0-10)
t.pensize(3) # 设置画笔粗细
2. 基本绘图命令
t.forward(100) # 前进100像素
t.backward(50) # 后退50像素
t.left(90) # 左转90度
t.right(45) # 右转45度
t.penup() # 抬起画笔
t.pendown() # 落下画笔
t.goto(100, -50) # 移动到指定坐标
3. 颜色与填充
t.pencolor("red") # 设置画笔颜色
t.fillcolor("yellow") # 设置填充颜色
t.begin_fill() # 开始填充
# 绘制封闭图形...
t.end_fill() # 结束填充
4. 循环绘制图形
正多边形绘制示例(六边形):
for _ in range(6):t.forward(100)t.left(60) # 转角=360/边数
5. 坐标控制
t.setheading(90) # 设置绝对角度(上)
t.home() # 返回原点(0,0)朝东
t.setx(100) # 水平移动
t.sety(-50) # 垂直移动
6. 事件处理
def draw_circle(x, y):t.penup()t.goto(x, y)t.pendown()t.circle(30)t.screen.onscreenclick(draw_circle) # 鼠标点击事件
t.screen.onkey(t.clear, "space") # 空格键清屏
t.screen.listen() # 开始监听事件
7. 高级功能
递归绘制分形树:
def tree(branch_len):if branch_len > 5:t.forward(branch_len)t.right(20)tree(branch_len-15)t.left(40)tree(branch_len-15)t.right(20)t.backward(branch_len)
tree(75)
常考题型示例
- 绘制彩色螺旋线:
colors = ["red", "purple", "blue", "green"]
for i in range(150):t.pencolor(colors[i%4])t.forward(i)t.left(91)
- 绘制五星红旗:
def draw_star(size):t.begin_fill()for _ in range(5):t.forward(size)t.right(144)t.end_fill()t.color("red", "yellow")
draw_star(100)
注意事项:
- 使用
turtle.done()
保持窗口打开 - 绘制复杂图形时注意画笔状态(up/down)
- 循环绘制时注意角度计算:$$角度 = \frac{360}{边数}$$
- 使用
speed(0)
可加快绘制速度
掌握这些知识点可应对90%以上的海龟绘图考题,重点练习循环结构与坐标计算的结合应用。