python turtle

r_64 posted @ 2015年10月30日 00:44 in 未分类 , 1529 阅读

vfk在去年省队集训讲过一个python画图的方法。。可惜我那时还在玩泥巴。。

最近做作业去了碰到一道神题DIVIDEN,所以想来学习一下python的画图技巧。不画图有本事你来调这个题

turtle是python中的一个库,可以支持像logo语言一样的画图技巧。你想象一个乌龟wyh2000站在原点,你可以控制它走路,它走过的地方就会留下痕迹。。就可以画图了。

其实并不知道NOI-Linux下的python中有没有这种库。。希望有。upd.noip的时候看了一下。。并没有这个库crying

命令有:(顺序按照字典序,只讲我关心的,全是抄帮助文档上的,想看全部命令请打开python,输入help(turtle))

begin_fill()

不需要参数。需要填充一个形状的时候使用它。

turtle.begin_fill()
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.end_fill()

clear()

清除屏幕,不移动乌龟。

clone()

返回该乌龟的一个复制。

dot(size,color)

画点。size可以省略,如果省略会取$\max(pensize+4,2\times pensize)$。color吗,我连tuple都不会用,肯定用colorstring啦。

比如说turtle.dot(20,"blue")

end_fill()

见begin_fill()

fill()

fill(1)就是begin_fill()

fill(0)就是end_fill()

write

写字。

color

不传参就是返回当前颜色,传参就是修改颜色。

down

开始画画。(即,走到哪画到哪)

hideturtle

隐藏乌龟?

据说可以加速complicated drawing。

isdown

画笔是否被放下。

up

与down相反。

speed

设置速度

back(x)

向后走$x$步

circle(r)

以$r$为半径画圆

可以画圆弧和正多边形(因为圆就是正(大数)边形啊)

extend表示是弧度(默认360,正负号决定顺/逆时针),比如说circle(radius=4,extend=180)就是半圆

steps表示是要画几边形,比如说circle(radius=4,steps=6)就是六边形

forward(x)

向前走$x$步

goto(x,y)

瞬移

也可以写作setpos

如果pendown,那么会画画。

left(r),right(r)

向左向右转,貌似传参是默认角度制,不过可以改变。

seth(a)

设置乌龟的朝向。东方是$0$,北方是$90$。

towards(x,y)

好像是atan2类似物?

就这么多吧,反正帮助文档里也有,写得比这里写的清晰多了。

最后不要忘了用time库里的sleep函数来暂停,这样就可以看到画出的图像~\(≧▽≦)/~啦啦啦


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter