赞
踩
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可为负数,则绕右侧圆心旋转;
.color(color1, color2) —— color1为画笔颜色,color2为填充色
.fillcolor(“color”) —— 设置填充颜色
.begin_fill() —— 准备开始填充
.end_fill() —— 填充结束
.hideturtle()
.showturtle()
.done() —— 文件式,停止画笔绘制,程序运行结束后绘图窗口不会退出,需手动关闭
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:
输出:
实例扩展(数码管显示日期)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。