python中的turtle库

lemon Lv4

1. 核心功能

  • 绘图工具:通过控制“海龟”在屏幕上的移动绘制图形,适合编程初学者学习。
  • 可视化编程:直观展示代码效果,帮助理解程序执行流程。

2. 常用类与方法

  • Turtle类(控制海龟):

    • turtle.forward(d) / turtle.fd(d):向前移动 d 像素。
    • turtle.backward(d) / turtle.bk(d):向后移动 d 像素。
    • turtle.left(angle) / turtle.lt(angle):逆时针旋转 angle 度。
    • turtle.right(angle) / turtle.rt(angle):顺时针旋转 angle 度。
    • turtle.penup() / turtle.pu():抬起画笔(移动不绘制)。
    • turtle.pendown() / turtle.pd():落下画笔(移动时绘制)。
    • turtle.color(color):设置画笔颜色。
    • turtle.fillcolor(color):设置填充颜色。
    • turtle.begin_fill():开始填充图形。
    • turtle.end_fill():结束填充图形。
    • turtle.circle(r):绘制半径为 r 的圆。
    • turtle.hideturtle():隐藏海龟图标。
  • Screen类(控制画布):

    • turtle.Screen():创建画布窗口。
    • turtle.title(title):设置窗口标题。
    • turtle.setup(width, height, startx, starty):设置窗口大小和位置。
    • turtle.done():保持窗口不关闭。

3. 使用示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import turtle

# 创建画布和画笔
screen = turtle.Screen()
screen.title("我的绘图")
t = turtle.Turtle()

# 绘制正方形
t.color("red")
for _ in range(4):
t.forward(100)
t.right(90)

# 绘制圆形
t.penup()
t.goto(0, -150)
t.pendown()
t.color("blue")
t.circle(50)

# 绘制五角星
t.penup()
t.goto(-100, -100)
t.pendown()
t.color("green")
for _ in range(5):
t.forward(100)
t.right(144)

# 保持窗口不关闭
turtle.done()

4. 注意事项

  • 坐标系:默认以屏幕中心为原点 (0,0),向右为 x 轴正方向,向上为 y 轴正方向。
  • 画笔状态:移动前需用 pendown() 落笔,否则不会绘制图形。
  • 窗口关闭:代码结尾需调用 turtle.done() 保持窗口不关闭。
  • 颜色设置:支持颜色名称(如 "red")或 RGB 元组(如 (255, 0, 0))。

5.七巧板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import turtle  
import math
t=turtle.Turtle()
t.speed(10)

# 橙色正方形
t.begin_fill()
t.left(45)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.fillcolor("orange")
t.end_fill()

# 三角绿
t.begin_fill()
t.left(90)
t.forward(100)
t.left(135)
t.forward(math.sqrt(2)*100)
t.fillcolor("green")
t.end_fill()

# 平行四边形 浅蓝
t.begin_fill()
t.right(135)
t.forward(100)
t.right(45)
t.forward(math.sqrt(2)*100)
t.right(135)
t.forward(100)
t.fillcolor("lightblue")
t.end_fill()

# 指针左下角
t.backward(100)

# 三角 黄
t.begin_fill()
t.left(45)
t.forward(math.sqrt(2)*200)
t.right(135)
t.forward(200)
t.fillcolor("yellow")
t.end_fill()

# 指针左上角
t.backward(200)

# 三角 红
t.begin_fill()
t.left(45)
t.forward(math.sqrt(2)*200)
t.right(135)
t.forward(200)
t.fillcolor("red")
t.end_fill()

# 指针右上角
t.backward(200)

# 三角 紫色
t.begin_fill()
t.left(45)
t.forward(math.sqrt(2)*100)
t.right(135)
t.forward(100)
t.fillcolor("purple")
t.end_fill()

# 指针右中
t.backward(100)

# 三角 深蓝色
t.begin_fill()
t.left(135)
t.forward(math.sqrt(2)*100)
t.right(90)
t.forward(math.sqrt(2)*100)
t.fillcolor("blue")
t.end_fill()

# 隐藏画笔
t.hideturtle()

turtle.done()

总结

  • 移动与旋转:用 forward()backward()left()right() 控制海龟移动。
  • 绘制图形:用 circle() 绘制圆,结合循环绘制多边形。
  • 颜色与填充:用 color() 设置画笔颜色,fillcolor() 设置填充颜色,配合 begin_fill()end_fill() 填充图形。
  • 画布设置:用 Screen() 创建画布,title() 设置标题,setup() 设置窗口大小和位置。
  • 标题: python中的turtle库
  • 作者: lemon
  • 创建于 : 2025-04-12 21:59:11
  • 更新于 : 2025-04-12 22:02:38
  • 链接: https://lemon2003.github.io/post/20250412215911.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论