turtle库的使用

turtle库概述

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

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

from turtle import*

对象

.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)

    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()

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

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

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

  • 爱心实例:
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()

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

  • 科赫雪花实例:
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()

输出:

在这里插入图片描述

  • 自动绘制轨迹实例:
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()

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

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值