Pythonturtle库的学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Pythonturtle库的学习笔记
python turtle 库的学习笔记
turtle(海龟)是Python重要的标准库之⼀,它能够进⾏基本的图形绘制。
turtle图形绘制的概念诞⽣于1969年,成功应⽤于LOGO编程语⾔。
turtle库绘制图形有⼀个基本框架:⼀个⼩海龟在坐标系中爬⾏,其爬⾏轨迹形成了绘制图形。
刚开始绘制时,⼩海龟位于画布正中央,此处坐标为(0,0),前进⽅向为⽔平右⽅。
在Python3系列版本安装⽬录的Lib⽂件下可以找到turtle.py⽂件。
⼀使⽤import保留字对turtle库的引⽤有如下3种⽅式,效果相同:
(1)import turtle
对turtle库中函数调⽤采⽤turtle.<函数名>( )形式:
(2)from turtle import *
对turtle库中函数调⽤采⽤<函数名>( )形式,不再使⽤turtle.作为前导:
(3) import turtle as t
保留字as将turtle库给予别名t,则对turtle库中函数调⽤采⽤更简洁的t.<函数名>( )形式:
⼆绘图的基础知识
(1)绘图窗⼝设置命令
turtle.setup(400,300,200,100):参数以此(宽,⾼,距离屏幕左边距离,距离屏幕上⽅距离),屏幕左上⾓原点,单位像素。
(2)运动命令
turtle.goto(x,y):直接跳转到(x,y)点,以绘图窗⼝中⼼为原点,向右为x轴,以上为y轴。
turtle.fd(d)、turtle.forward(d):以当前⽅向,往前⾏进d像素。
turtle.bk(d)、turtle.backword(d):保持当前⽅向不变,往后退⾏d像素。
turtle.circle(r,angle):从当前位置以r为半径圆的angle⾓度旋转。
(3)⽅向设置命令
turtle.seth(angle):以x轴⽅向为起点将⽅向偏转为angle度,逆时针为正。
只改变⾏进⽅向但不⾏进。
turtle.left(angle):在当前⾏进⽅向的基础上,向左旋转angle度。
turtle.right(angle):在当前⾏进⽅向的基础上,向右旋转angle度。
(4)画笔控制命令
turtle.penup():抬笔
turtle.pendown():落笔
turtle.pensize(width):画笔粗细
turtle.pencolor(颜⾊名red/RGB三元组/颜⾊编码):画笔颜⾊
turtle.fillcolor(colorstring):绘制图形的填充颜⾊
turtle.begin_fill():开始填充
turtle.end_fill():结束填充
turtle.filling():返回当前是否在填充状态
(5)全局控制命令
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的参数也是可选项
三绘图举例
(1)⼩蟒蛇
1import turtle
2 turtle.setup(650,350,200,200)
3 turtle.penup()
4 turtle.fd(-250)
5 turtle.pendown()
6 turtle.pensize(15)
7 turtle.pencolor("#00FF00")
8 turtle.seth(-40)
9for i in range(4):
10 turtle.circle(40,80)
11 turtle.circle(-40,80)
12 turtle.circle(40,80/2)
13 turtle.fd(40)
14 turtle.circle(16,180)
15 turtle.fd(40*2/3)
16 turtle.done()
效果如图:
(2)玫瑰花
1import turtle
2
3# 设置初始位置
4 turtle.penup()
5 turtle.left(90)
6 turtle.fd(200)
7 turtle.pendown()
8 turtle.right(90)
9
10# 花蕊
11 turtle.fillcolor("red")
12 turtle.begin_fill()
13 turtle.circle(10,180)
14 turtle.circle(25,110)
15 turtle.left(50)
16 turtle.circle(60,45)
17 turtle.circle(20,170)
18 turtle.right(24)
19 turtle.fd(30)
20 turtle.left(10)
21 turtle.circle(30,110)
22 turtle.fd(20)
23 turtle.left(40)
24 turtle.circle(90,70)
25 turtle.circle(30,150)
26 turtle.right(30)
27 turtle.fd(15)
28 turtle.circle(80,90)
29 turtle.left(15)
30 turtle.fd(45)
31 turtle.right(165)
32 turtle.fd(20)
33 turtle.left(155)
34 turtle.circle(150,80)
35 turtle.left(50)
36 turtle.circle(150,90)
37 turtle.end_fill()
38
39# 花瓣1
40 turtle.left(150)
41 turtle.circle(-90,70)
42 turtle.left(20)
43 turtle.circle(75,105)
44 turtle.setheading(60)
45 turtle.circle(80,98)
46 turtle.circle(-90,40) 47
48# 花瓣2
49 turtle.left(180)
50 turtle.circle(90,40)
51 turtle.circle(-80,98)
52 turtle.setheading(-83) 53
54# 叶⼦1
55 turtle.fd(30)
56 turtle.left(90)
57 turtle.fd(25)
58 turtle.left(45)
59 turtle.fillcolor("green")
60 turtle.begin_fill()
61 turtle.circle(-80,90)
62 turtle.right(90)
63 turtle.circle(-80,90)
64 turtle.end_fill()
65
66 turtle.right(135)
67 turtle.fd(60)
68 turtle.left(180)
69 turtle.fd(85)
70 turtle.left(90)
71 turtle.fd(80)
72
73# 叶⼦2
74 turtle.right(90)
75 turtle.right(45)
76 turtle.fillcolor("green")
77 turtle.begin_fill()
78 turtle.circle(80,90)
79 turtle.left(90)
80 turtle.circle(80,90)
81 turtle.end_fill()
82
83 turtle.left(135)
84 turtle.fd(60)
85 turtle.left(180)
86 turtle.fd(60)
87 turtle.right(90)
88 turtle.circle(200,60)效果如图:。