当前位置:   article > 正文

turtle库的使用

turtle库的使用

turtle库概述

turtle是标准库,诞生于1969
turtle库是python的基础绘图库

通常,应避免导入模块中所有的名称,但使用海龟绘图,这样做会很方便。

from turtle import*
  • 1

对象

.setup(width,height,startx,starty) —— 省略startx,starty则窗口位于屏幕中央(turtle坐标系的原点默认在窗体正中间)

.title(str) —— 设置绘图名称

.penup() —— 简写.pu() 将画笔抬起

.pendown() —— 简写.pd() 将画笔落下

.forward(d) —— 简写.fd(d),当d为负数时向反方向前进

.backward(d) —— 简写.bk() 向后前进

.goto(x,y) —— 移动到坐标为(x,y)处 #绝对坐标

.pensize(width) —— 别名 .width(width) 画笔粗细

.pencolor(“color”).pencolor(r,g,b) —— 参数为字符串或RGB数值

.speed(k) —— 画笔绘制速度,当值k = 0时,海龟将以最快速度移动。

.setheading(angle) —— 简写 .seth(angle) #angle为绝对角度

.left(angle) —— 逆时针旋转angle°

.right(angle) —— 顺时针旋转angle°

.circle(r[, angle][, steps]) —— #绕左侧圆心旋转,r可为负数,则绕右侧圆心旋转;

  • angle为圆心角,省略angle则绘制整个图形(若指定了steps,则不一定是圆);
  • 在绘制正多边形时,使用steps指定图形边数;

.color(color1, color2) —— color1为画笔颜色,color2为填充色

.fillcolor(“color”) —— 设置填充颜色

.begin_fill() —— 准备开始填充

.end_fill() —— 填充结束

.hideturtle()

.showturtle()

.done() —— 文件式,停止画笔绘制,程序运行结束后绘图窗口不会退出,需手动关闭

  • RGB色彩模式
    三个通道:红、蓝、绿
    覆盖视力所感知的所有颜色
    RGB所有色彩的取值范围0~255整数 或 0~1小数
        默认采用小数值模式,可切换为整数值模式。
turtle.colormode(mode)
  • 1

    mode: 1.0——RGB小数值模式;255——RGB整数值模式
在这里插入图片描述
在这里插入图片描述

另注:库的调用技巧

一些实例

  • 五角星实例:
from turtle import*
color('red','red')
begin_fill()
for i in range(5):
    fd(200)
    rt(144)
end_fill()
done()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

输出:
在这里插入图片描述

  • 太阳花实例:
import turtle
turtle.color("red","yellow")
turtle.begin_fill()
for i in range(36):
    turtle.fd(200)
    turtle.left(170)
turtle.end_fill()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

输出:
在这里插入图片描述

  • 爱心实例:
import turtle as t
t.penup()
t.seth(-90)
t.fd(160)
t.pendown()
t.pensize(20)
t.colormode(255)
t.speed(5)
for j in range(10):
    t.speed(1000)
    t.pencolor(25*j,5*j,15*j)
    t.seth(130)
    t.fd(220)
    for i in range(23):
        t.circle(-80,10)
    t.seth(100)
    for i in range(23):
        t.circle(-80,10)
    t.fd(220)
    t.hideturtle()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

输出:
在这里插入图片描述

  • 科赫雪花实例:
import turtle
def koch(size,n):
    if n == 0:
        turtle.fd(size)
    else:
        for angle in [0,60,-120,60]:
            turtle.left(angle)
            koch(size/3,n-1)

def main():
    turtle.setup(600,600)
    turtle.penup()
    turtle.speed(0)
    turtle.goto(-200,100)
    turtle.pencolor("blue")
    turtle.pendown()
    turtle.pensize(2)
    level = 3               # 3阶科赫雪花
    koch(400,level)
    turtle.right(120)
    koch(400,level)
    turtle.right(120)
    koch(400,level)
    turtle.hideturtle()
main()
  • 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

输出:

在这里插入图片描述

  • 自动绘制轨迹实例:
import turtle as t
t.title('自动轨迹绘制')
t.setup(800, 600)
t.pencolor("red")
t.pensize(5)
t.speed(8)
#数据读取
datals = []
f = open("data.txt")
for line in f:
    line = line.replace("\n","")
    datals.append(list(map(eval, line.split(","))))
f.close()
#自动绘制
for i in range(len(datals)):
    t.pencolor(datals[i][3],datals[i][4],datals[i][5])
    t.fd(datals[i][0])
    if datals[i][1]:
        t.rt(datals[i][2])
    else:
        t.lt(datals[i][2])
t.hideturtle()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

data.txt:
在这里插入图片描述
输出:
在这里插入图片描述
实例扩展(数码管显示日期)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/117005
推荐阅读
相关标签
  

闽ICP备14008679号