Python turtle学习笔记
题记:初学python的turtle库,特将学习到的知识点记下 ,以便日后的回顾学习
①turtle库基本函数介绍 ;②绘图举例
Turtle库的基本函数
这个表格记录了常用的几个函数
命令 |
说明 |
turtle.setup(a,b,c,d) |
|
turtle.bgcolor("color") |
设置画布背景颜色 |
turtle.fd(x) | 顺着画笔当前方向前进x(正负) |
turtle.bk(x) | 画笔移动到(a,b),当前方向不变 |
turtle.goto(a,b) | 画笔移动到(a,b),当前方向不变 |
turtle.circle(r,angle) | 画笔以r为半径,逆时针旋转angle(正负)度 |
turtle.seth(angle)(绝对角度) | 改变当前画笔的方向,但不行进 |
turtle.left(angle)(海龟角度) | 当前画笔方向左转angle度 |
turtle.right(angle)(海龟角度) | 当前画笔方向右转angle度 |
turtle.colormode(mode) | 1.0RGB小数模式(一般); 255RGB整数值模式 |
turtle.speed(speed) | 画笔绘制的速度范围[0,10]整数 |
turtle.penup()/turtle.up() | 画笔抬起 |
turtle.pendown()/turtle.down() | 画笔放下 |
turtle.pensize(a) | 设置画笔大小为a像素 |
turtle.pencolor(“red”) | 设置画笔颜色为红色( 其他 ) |
turtle.fillcolor(颜色字符串) | 绘制图形的填充颜色 |
turtle.begin_fill() | 准备开始填充图形 |
turtle.end_fill() | 填充完成 |
turtle.hideturtle() | 隐藏箭头显示 |
turtle.showturtle() | 显示箭头 |
turtle.done() | 画图结束,手动关闭绘图窗口 |
还有一些全局控制命令
命令 | 说明 |
---|---|
turtle.clear() | 清空turtle窗口,但是turtle的位置和状态不会改变 |
turtle.reset() | 清空窗口,重置turtle状态为起始状态 |
turtle.undo() | 撤销上一个turtle动作 |
turtle.isvisible() | 返回当前turtle是否可见 |
stamp() | 复制当前图形 |
turtle.write(s[,font=("font-name",font_size,"font_type")]) | 写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项, font的参数也是可选项 |
绘图举例
在绘图过程中,经常想让海龟(即画笔)移动到某一点,这时就需要抬起画笔,移动,然后落下。因为使用频率较高,所以可以设计一个函数将这个步骤简单化。
def MoveTurtle(x,y): t.up() t.goto(x,y) t.down()
这样在后续的绘图中就可直接调用。
太极图
1 import turtle as t 2 3 R = 360 #太极圆半径 4 t.setup(800,800) 5 t.pensize(5) 6 7 def MoveTurtle(x,y): 8 t.up() 9 t.goto(x,y) 10 t.down() 11 12 t.fillcolor('black') 13 t.begin_fill() 14 MoveTurtle(0,R) 15 t.circle(-R,180) 16 t.circle(-R/2,180) 17 t.circle(R/2,180) 18 t.end_fill() 19 t.begin_fill() 20 MoveTurtle(0,R/3) 21 t.circle(-R/6) 22 t.end_fill() #绘制黑色部分 23 24 MoveTurtle(0,R) 25 t.circle(R,180) 26 t.fillcolor('white') 27 t.begin_fill() 28 MoveTurtle(0,-R/3) 29 t.circle(-R/6) 30 t.end_fill() #绘制白色部分 31 32 t.hideturtle() 33 t.done()
国际象棋
1 #国际象棋盘.py 2 import turtle as t 3 width = eval(input()) #输入小方格的边长 4 t.speed(10) 5 6 def MoveTurtle(x,y): 7 t.up() 8 t.goto(x,y) 9 t.down() 10 11 def DrawSquare (width): 12 t.begin_fill() 13 t.fillcolor('black') 14 for i in range(4): 15 t.fd(width) 16 t.left(90) 17 t.end_fill() #绘制黑色方格 18 19 x = 0 20 while(x < 8*width): 21 y=x 22 MoveTurtle(x,y) 23 DrawSquare(width) 24 while(y < 8*width): 25 y = y+(2*width) 26 if y < (8*width): 27 MoveTurtle(x,y) 28 DrawSquare(width) 29 MoveTurtle(y,x) 30 DrawSquare(width) 31 x = x+width #以网格建立坐标系,确定坐标点绘制小黑方格 32 33 MoveTurtle(0,0) 34 for i in range(4): 35 t.forward(8 * width) 36 t.left(90) #绘框 37 38 t.hideturtle() 39 t.done()