Turtle图形库是教小孩子学习编程的一种流行的方式,是1966年Wally Feurzig和Seymour Paper开发的原始图标编程语言的一部分。
设想在一个x-y的二维平面的原点(x=0,y=0)上有一个机器小乌龟,通过import turtle引入该包,向小乌龟发出命令turtle.forward(15),小乌龟便沿着当前的朝向移动15像素,并画出一条直线。发出指令turtle.right(25),则顺时针旋转25度。同理指令turtle.left(25)是逆时针旋转25度,turtle.forward(-15)则是反方向移动15像素。
通过把这些类似的命令组合在一起,可以很容易的画出错综复杂的形状和图形。
画五角星例子,从原点出发沿x轴向右移动200像素,然后逆时针170度,再移动200像素,如此循环。函数turtle.pos()可以获得机器小乌龟的当前坐标(x,y),而方法abs(turtle.pos())可以获得机器小乌龟当前距离原点的直线距离(根据勾股定理计算)。经过若干次循环之后,机器小乌龟将再次经过原点(x=0,y=0),此时直线距离小于1,将跳出循环,程序执行结束。
import turtle
while True:
turtle.forward(200)
turtle.left(170)
if abs(turtle.pos()) < 1 :
break
为了好看,可以设置画线的颜色和背景,使用函数turtle.color(‘red’,’yellow’),画线的线条颜色是红色,背景填充色是黄色。使用函数turtle.begin_fille()和turtle.end_fille()实现背景填充。完整程序如下:
import turtle
turtle.color('red','yellow')
turtle.begin_fill()
while True:
turtle.forward(200)
turtle.left(170)
if abs(turtle.pos()) < 1 :
break
turtle.end_fill()