跳转至

Turtle 海龟库速成

基础

  1. import turtle as t(引用时要写 t.)或 from turtle import * 引入库
  2. 把“画笔”当作一只乌龟,可以控制它的 位置、方向、动作
  3. 一般流程:设置窗口和画笔 → 控制画笔 → 画图 → 结束

常用函数

画笔控制

  • forward(d) / fd(d):向前走 d 像素
  • backward(d) / bk(d):向后走 d 像素
  • setheading(angle) / seth(angle):设置方向,正东 0 度,正北 90 度,初始是 0 度
  • right(angle):右转 angle 度
  • left(angle):左转 angle 度
  • setx(x):移动到坐标点 (x, y0)
  • sety(y):移动到坐标点 (x0, y)
  • goto(x, y):移动到坐标点 (x, y)
  • penup() / pu():抬笔,移动不画线
  • pendown() / pd():落笔,开始画

画笔样式

  • pensize(w):线宽
  • pencolor('red'):画笔颜色
  • fillcolor('yellow'):填充颜色
  • color('画笔颜色', '填充颜色'):同时设置画笔和填充颜色
  • begin_fill() / end_fill():开始/结束填充

形状绘制

  • circle(r):画圆,半径 r
  • circle(r, angle):画圆弧,angle 为角度
  • speed(n):画笔速度(0~10,0最快)

杂项

  • 程序最后写 done(),否则画面一闪而过
  • title('图形标题')

基本图形

  • 正三角形:for 3: fd -> right 120
  • 正方形:for 4: fd -> right 90
  • 正六边形:for 6: fd -> right 60
  • 正n边形:for n: fd -> right 360/n

  • 五角星:for 5: fd -> right 144
  • 半径100的圆:circle(100)
  • 半径100的半圆:circle(100, 180)

组合图形

  • 太阳花:for 36: 圆 -> right 10
  • 星花:for 36: 五角星 -> right 10
  • 六线雪花:for 6: fd -> bk -> right 60
  • 螺旋线(循环次数和角度不定):for 100: fd i*5 -> right 60
  • 无内线的五角星(直接填充):for 5: fd -> left 72 -> fd -> right 144

同心圆

def circles(x0, y0, r0, step, n):
    for i in range(n):
        r = r0 + i * step
        up()
        goto(x0, y0 - r)
        down()
        circle(r)

circles(100, 60, 20, 20, 5)
done()