python turtle 库的学习笔记
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是否可见三 绘图举例
(1)小蟒蛇
1
import
turtle
2 turtle.setup(650,350,200,200)
3turtle.penup()
4 turtle.fd(-250)
5turtle.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)玫瑰花
1
import
turtle
2
3
#
设置初始位置
4
turtle.penup()
5 turtle.left(90)
6 turtle.fd(200)
7turtle.pendown()
8 turtle.right(90)
910# 花蕊11 turtle.fillcolor("red")
12turtle.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)
37turtle.end_fill()
3839# 花瓣140 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)
4748# 花瓣249 turtle.left(180)
50 turtle.circle(90,40)
51 turtle.circle(-80,98)
52 turtle.setheading(-83)
5354# 叶子155 turtle.fd(30)
56 turtle.left(90)
57 turtle.fd(25)
58 turtle.left(45)
59 turtle.fillcolor("green")
60turtle.begin_fill()
61 turtle.circle(-80,90)
62 turtle.right(90)
63 turtle.circle(-80,90)
64turtle.end_fill()
6566 turtle.right(135)
67 turtle.fd(60)
68 turtle.left(180)
69 turtle.fd(85)
70 turtle.left(90)
71 turtle.fd(80)
7273# 叶子274 turtle.right(90)
75 turtle.right(45)
76 turtle.fillcolor("green")
77turtle.begin_fill()
78 turtle.circle(80,90)
79 turtle.left(90)
80 turtle.circle(80,90)
81turtle.end_fill()
8283 turtle.left(135)
84 turtle.fd(60)
85 turtle.left(180)
86 turtle.fd(60)
87 turtle.right(90)
88 turtle.circle(200,60)
效果如图:
原文:https://www.cnblogs.com/tantan0914/p/12463039.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!