当前课程知识点:计算思维与人工智能基础 > 第三部分:python基础 > 第八章:python生态库 > 8.5标准库-Turtle库
turtle标准库
turtle库是Python语言的标准库之一
是一个绘图工具
可通过简单的程序创建直观且丰富的视觉效果
这里使用turtle,表示模拟一只乌龟在屏幕上移动的过程
turtle的三大属性包括位置,方向和画笔
我们要想把这个画笔设置成turtle的形状
就可以通过我们导入turtle库以后turtle点shape来设置它
那么turtle的绘图窗体或者我们turtle的画布呢
他的位置是可以通过turtle.setup来设置它的宽度
高度和他的startX,Y时窗口的起始位置
那么在turtle这个画布里面
他的空间坐标是怎么样子的呢?
我们可以看它的中心点是(0,0)
他有一个XY轴
这个地方就分别对应他的坐标
这是一百到一百
正的一百一百小数点
那么负的X一百Y一百应该是在这个位置上
在我们turtle里面常用的有画笔的控制函数
比如说我们的penup(),pendown()
也可以写成up,down
那么这就是抬笔和落笔
pensize后面跟他的笔的宽度
也可以用width来去写
画笔的颜色可以用pencolor或color
这个fillcolor就是我们用填充色是什么样子的
运动控制函数呢,我们用forward就向前
backword向后
right就是我们向右边转动多少度
left向左边转动多少度
goto是指定到一个坐标的位置
走曲线可以通过circle,那么他可以画一个圆
那么这是圆的半径,后面是我们的弧
给定的弧的长度,画这个半点
弧的长度是多少是这样
那么在画的时候我们可以设置画笔的速度
从零到十速度是逐渐加快的
下面我们来看是如何画这样的一个五角星
那么首先我们可以看到这个位置
如果这个就是我们的turtle.setup开始的时候初始的位置
我们先画一条forward往前走一条线
然后我们会转动一个角度
那么笔现在是向前的
转动角度我们就可以向右转动
朝右转动144度
我们在转动这个144度以后他再往前走
长度跟刚才一样
那么在这个方向走的时候我们也是往右转同样的角度
那么转几次呢?
要是五角星的话,一次两次三次四次就是五次
那么就回到原来的位置
这个就是画图的过程
那我们通过刚才提供的函数是如何写这段代码的呢
第一步,当然要导入我们的turtle import
所有模块里面的函数
那下面我们可以定义为这两个函数
通过turtle创建p这个对象
然后里面可以调用它的shape方法
用turtle制订我们笔的移动的速度
这是我们笔的粗细,这是我们笔的颜色
我们填充色是用红色
那么设置了填充色
填充是通过P.begin_fill和P.end_fill来去设置这个填充
那么下面就是我们用一个循环画五次的话
每次朝前走两百,然后转144度
那么循环五次就完成了五角星
我们结束这个turtle是通过down去结束
通过函数的调用就可以实现这样的一个画图的功能
当然我们可以稍微调一下就画一个星星
那么这个度数变化了以后
比如说变化160度
那么他就可以画一个星形
那么可以循环多少次呢?循环九次
或者说,我们可以通过一个函数来像这样画这种闭合的图形的话
可以通过我们来其实的位置的判断来让他终止
我们在Jupyter下看一下我们这段代码的执行效果
这是我们刚才给大家介绍的这段代码
我们看一下它的执行效果是什么样
我们来看他就是这样画一个五角星这样的一个过程
然后做一个填充
在这里面呢,这个代码呢,跟我们
刚才的那个屏幕上介绍的代码稍微有一点不同
我们看哪些地方不同
就是我们这个开始的位置是从什么开始的
我们这个地方有设置了一个把笔拿起来
然后把笔指到是一个(0,200)的位置
然后再把笔放下
然后才开始画这个五角星
所以我们这个中间的位置在这
所以他向上走了两百像素
然后再开始画这个图形的
这样子的
我们再来看一下这段代码
那么这段代码我们可以看的到
设置了我们的画笔的颜色是红色的
那么在这个里面
我们设置了一个循环
这个循环呢他首先是向前走240
那我们没设置位置,他就默认在原点的这个位置
(0,0)这个位置向前走,然后转160度
然后一直循环循环到什么时候呢?我们看
我们通过这个pos函数
那么pos函数的绝对值小于一的话
那么就让它跳出循环并且输出什么呀?
跳出循环以后输出我们的over结束
这个呢就是可以通过这个abs pos判断一下
起始和我们现在的这个位置
那么如果他是小于一的时候
其实是接触了以后的话
他就可以是闭合了以后它就跳出这个循环
我们来看一下它的执行结果
那么看,他是从这个位置开始,到这个位置
那么判断下他们闭合了
也就距离小于一的时候呢,他就结束
这个就是可以通过设定确定的循环
也可以设定如果是闭合图形,也可以设定他的接触这个位置就可以了
那么另外呢,我们再看一下这个
下面我们还是画一个星星
在这个里面我们也可以通过把这个笔拿起来
可以通过up或penup来指定到一个位置
然后这是我们画这个星星的话
如果用循环的话
我们可以用循环九次
每次的,这是我们的forward,转的角度
另外的话,我们可以画一个弧
把笔拿到另外一个位置上指定一个位置上
然后画一段半径为一百
那么弧长为120像素的这样的一个弧
运行下,我们可以也看一下他的结果
那么这个呢
我们刚才没有关闭这个turtle
执行这个down的话
他会还在这个画布上来进行画
我们来执行他的结果
我们可以看
填充
然后就在这画了
这就是我们turtle库的一个简单的应用
-章测试
-章测试
-第一章:python简介
--章测试
-第二章:编码规范
--2.2常量和变量
--章测试
-第三章:数据类型
--章测试
-第四章:基本运算
--4.2比较运算符
--4.3逻辑运算符
--4.4位运算符
--章测试
-第五章:程序控制结构
--5.1顺序结构
--5.2条件结构
--5.3循环结构
--5.4跳转结构
--5.5异常处理
--章测试
-第六章:函数、模块与面向对象
--6.2面向对象
--6.4模块与包
--章测试
-第七章:文件操作
--7.2文件的写入
--章测试
-第八章:python生态库
--章测试
-第九章:TensorFlow基础
--章测试
-第十章:实例分析与实践
--章测试
-第十一章:人工智能在自然语言中的应用
--章测试