Turtle库是Python语言中一个很流行的绘制图像的函数库,turtle中文意思是海龟,也就是我们把画画,想象成一只海龟爬行的路线。Turtle库运用数学中坐标系的概念,在一个横轴为x、纵轴为y的坐标系原点,也就是(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
这是我在刚开始学习Python的时候自己总结和在网上学习的内容,一一归纳整理出的,可能有很多还有不足的地方。通过对自己的不断学习归纳总结了很多,我会慢慢更新内容。
import turtle
import time
def LittleHeart():
for i in range(200):
turtle.right(1)
turtle.forward(2)
love='记得加衣家人们 '
me='家人们要永远一起'
turtle.setup(width=900,height=600)
turtle.color('red','red')
turtle.pensize(5)
turtle.speed(520520492492)
turtle.up()
turtle.hideturtle()
turtle.goto(0,-180)
turtle.showturtle()
turtle.down()
turtle.speed(5)
turtle.begin_fill()
turtle.left(140)
turtle.forward(224)
LittleHeart()
turtle.left(120)
LittleHeart()
turtle.forward(224)
turtle.end_fill()
turtle.pensize(5)
turtle.up()
turtle.hideturtle()
turtle.goto(0,0)
turtle.showturtle()
turtle.color('#CD5C5C','pink')
turtle.write(love,font=('gungsuh',30,),align="center")
turtle.up()
turtle.hideturtle()
if me !='':
turtle.color('black','pink')
time.sleep(2)
turtle.goto(180,-180) #字的定位
turtle.showturtle()
turtle.write(me,font=(20,),align="center",move=True)
Window=turtle.Screen() #这上下两个是使界面停在最后绘制的界面不自动退出
Window.exitonclick()
这个是我刚开始学的时候绘画出来的送给大家,冬天了天气冷了大家也要记得加衣服!
turtle导包
import turtle
import turtle as tle
这两个导包方式都可以,第一种方式是直接导包调用,而第二种是将包导入后赋给一个值,这样可以更加简便。
1.画布的设定
turtle.setup()
turtle.setup(width,height,startx,starty) #画布默认坐标原点为画布中心
--如果在设计画布的时候不设置startx和starty则系统会自定义为屏幕最中心的位置。
--在输入代码时,如果记得每个地方是对应什么位置的时候,就比如说,这里的width对应的是绘板的长度,如果知道后,在设置画布的时候,不用输入width等于多少,可以直接输入所需的长度,如果不设计画布大小的话,系统有自动定义画布大小。
--如果需要绘制的图形过于庞大,则需要布置画布的大小大一点,不然绘画部分会超出画布。 #在这其中,不论你画布设置在哪个地方,那个坐标系都是跟着画布走的。
此图为width height startx starty 一一所对应的位置(这其中左上角为(0,0)也就是说x和y和长宽没有关系)
2.小乌龟的基础设置
turtle.pensize() | 表示小乌龟运动轨迹的宽度 (在绘画当中笔的粗细) | 同 turtle.width() |
turtle.shapesize() | 表示笔的形状大小 | 同 turtle.turtlesize() |
turtle.color() | 笔所属的颜色 | 注:这其中可以转换笔的颜色,在每条代码里面如果要转换颜色,则在此步骤中输入此代码,然后,在括号中输入颜色,即可改变颜色。(默认为黑色) |
turtle.pencolor() | 表示小乌龟运动轨迹的颜色 | 具体颜色设置如下 |
turtle.shape() | 能设置笔的样式 | 具体样式如下 |
3.用小乌龟做图
turtle.seth()
turtle.seth() #函数表示小乌龟启动时运动的方向
0表示向东,90度向北,180向西,270度向南;负值表示相反方向。程序中,我们让小乌龟向-40度启动爬行,即:向东方向40度
注:在这中间就和数学的坐标是一样的,分四个象限,有第一象限,第二象限,第三象限,第四象限。象限的大小也和数学是一样的,第一象限为0到90度,第二象限为90到180度,第三象限为180到270度,第四象限为270到360度。而这其中和数学也是一样的,有叠加的效果分别为0+2kπ,90+2kπ,180+2kπ,270+2kπ。(这能用在绘画中的画,可以一个一个去定方位,就和电脑屏幕是由一个个小的点组成的。)
turtle.home()
turtle.home() #意思是小乌龟回到原始位置这里的位置称为家“home家”
注:在这其中如果笔在其他位置,要笔回到原始位置时,如果不输入抬笔的代码,则笔在回到原始位置的过程中,有路径,在这中间如果输入了抬笔的代码,则不会显示路径。
turtle.forward()
turtle.forward() #意思是小乌龟向前走多远括号中填长度
turtle.fd()意思相同。
turtle.backward()
turtle.backward() #意思是小乌龟向后退多远
turtle.bk()意思相同turtle.back()意思相同。
turtle.right()
turtle.right() #意思是小乌龟向右转多远
turtle.rt()意思相同。
注:也是一个朝向设置。是向右转多少度。
turtle.left()
turtle.left() #意思是小乌龟向左转多远
turtle.lt()意思相同。
注:也是一个朝向设置。是向左转多少度。
turtle.write()
turtle.write() #此代码表示写东西,在笔之后写东西,在输入时要在括号中标注要写什么东西
import turtle
turtle.write("hello")
turtle.Screen().exitonclick()
补充:最后一句是将画板固定,不会运行完后退出,这样便于观看图。
括号中(arg,move=False,align=’left’,font=(‘Arial’,’normal’))在这其中arg表示信息,将被写入TurtleScreen。move表示真假的意思,其中,用于指定是否移动画笔到文本的右下角,默认为False(不移动),如果move为True,则画笔将移动到文本的右下角。align可选参数,用于指定文字的对齐方式,其参数值为left(居左)、center(居中)或者right(居右)中的任意一个,默认为left(居左)(这个居哪其实就是说在画笔的哪边)。”center”或右侧之一”,font表示三元组(字体名称,字体大小,字体类型)(其中字体类型可以设置为normal(表示正常)、bold(粗体)、italic(斜体)、underline(下划线)等)
其中字体名称如下:
turtle.circle()
turtle.circle(radius=,extent=) #意思是说小乌龟画个圆
radivs说的意思是说半径为多少。(这里的radivs是个参数)-----------------------这个半径也就是radius中要填的如果填的是正数则向左画,如果填的是负数则向右画。这里的括号里面的extent,是说画的这个圆的角度是多少。(extent为范围的意思)
turtle.dot()
turtle.dot() #意思是说在此处画个点
这里的size是说大小的意思。(颜色是需要的引号的,因为它是一个字符串。)
turtle.hideturtle()
turtle.hideturtle() #这个代码的意思是最后结束是将笔藏起来
turtle.ht()意思相同。
turtle.showturtle()
turtle.showturtle() #这个代码的意思是说将笔显现,就是显示海龟的意思
turtle.st()意思相同。
turtle.isvisible()
turtle.isvisible() #这个代码的意思是说小乌龟是否可见,就是问候的意思
所以是需要输出的,如果最后笔没有显现输出的就是False,如果最后笔显现了输出的就是True。
turtle.Screen().exitonclick()
turtle.Screen().exitonclick() #这个代码的意思是说最后运行完了之后界面停止在最后界面并不会退出
turtle.bgcolor()
turtle.bgcolor() #此代码能设置背景的颜色
区别:pencolor()和color!
出来的线的颜色是什么,小乌龟不变色。
线和小乌龟都是这个颜色,小乌龟也变色。