先看两个实例
画一个六边形,每条边的颜色均不一样
import turtle #turtle:海龟渲染器,python的绘图库
t = turtle.Pen()
turtle.bgcolor("black") #bgcolor定义背景颜色
sides = 6
colors = ["red", "yellow", "green", "blue", "orange", "purple"]
for x in range(360): #range()创建一个整数列表,一般用在for循环中
t.pencolor(colors[x % sides]) #pencolor:定义画笔颜色
t.forward(x * 3 / sides + x)
t.left(360 / sides + 1)
t.width(x * sides / 200) #width:设置画笔宽度
t.write(1)
#write(s [,font=("font-name",font_size,"font_type")])
s:文本内容 font-name:文字名称,font_size:文字大小,font_type:文字类型
绘制一个名字漩涡
import turtle
t = turtle.Pen()
turtle.bgcolor("black")
my_name = turtle.textinput("输入你的姓名", "你的名字?")
colors = ["red", "yellow", "purple", "blue"]
for x in range(100): #for循环:for 迭代变量 in 字符串|列表|数组|集合代码块(统一缩进)
t.pencolor(colors[x % 4])
t.penup() #penup:把笔尖抬起来,不绘制图像,用于移到另一个地方绘制图像
t.forward(x * 4)
t.pendown() #移动时绘制图像
t.write(my_name, font=("Arial", int((x + 4) / 4), "bold"))
t.left(92)
*
turtle的命令集
命令 | 说明 |
---|---|
设置画布大小 | turtle.screensize(canvwidth=None, canvheight=None, bg=None) 参数分别为画布的宽 ,高, 背景颜色 |
设置画布大小 | turtle.setup(width=0.5, height=0.75, startx=None, starty=None) 参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例, (startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心 |
设置画笔的宽度 | turtle.pensize() |
设置画笔颜色 | turtle.pencolor() 没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", “red”,也可以是RGB |
设置画笔移动速度 | turtle.speed(speed) 画笔绘制的速度范围[0,10]整数,数字越大越快 |
向当前画笔方向移动distance像素长度 | turtle.forward(distance) |
向当前画笔相反方向移动distance像素长度 | turtle.backward(distance) |
顺时针移动degree° | turtle.right(degree) |
逆时针移动degree° | turtle.left(degree) |
移动时绘制图形,缺省时也会绘制 | turtle.pendown() |
将画笔移动到坐标为x,y的位置 | turtle.goto(x,y) |
提起笔移动,不绘制图形,用于另起一个地方绘制 | turtle.penup() |
画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆 | turtle.circle() |
将当前y轴移动到指定位置 | sety( ) |
设置当前朝向为angle角度 | setheading(angle) |
设置当前画笔位置为原点,朝向东。 | home() |
绘制一个指定直径和颜色的圆点 | dot() |
绘制图形的填充颜色 | turtle.fillcolor(colorstring) |
同时设置pencolor=color1, fillcolor=color2 | turtle.color(color1, color2) |
返回当前是否在填充状态 | turtle.filling() |
准备开始填充图形 | turtle.begin_fill() |
填充完成 | turtle.end_fill() |
隐藏画笔的turtle形状 | turtle.hideturtle() |
显示画笔的turtle形状 | turtle.showturtle() |
清空turtle窗口,但是turtle的位置和状态不会改变 | turtle.clear() |
清空窗口,重置turtle状态为起始状态 | turtle.reset() |
撤销上一个turtle动作 | turtle.undo() |
返回当前turtle是否可见 | turtle.isvisible() |
复制当前图形 | stamp() |
写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项 | turtle.write(s [,font=(“font-name”,font_size,“font_type”)]) |
启动事件循环 -调用Tkinter的mainloop函数。必须是乌龟图形程序中的最后一个语句。 | turtle.mainloop()或turtle.done() |
设置乌龟模式(“standard”,“logo”或“world”)并执行重置。如果没有给出模式,则返回当前模式。 | turtle.mode(mode=None) 格式见下表 |
设置或返回以毫秒为单位的绘图延迟 | turtle.delay(delay=None) |
开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。 | turtle.begin_poly() |
返回最后记录的多边形。 | turtle.get_poly() |
模式 | 初始龟标题 | 正角度 |
---|---|---|
standard | 向右(东) | 逆时针 |
logo | 向上(北) | 顺时针 |