Python笔记_第一篇_面向过程_第一部分_8.画图工具(小海龟turtle)
turtle 是一个简单的绘图工具。
提供一个小海龟,可以把它理解为一个机器人,只能听懂有限的命令,且绘图窗口的原点(0,0)在中间,默认海龟的方向是右侧
海龟的命令包括三类:运动命令、笔画控制命令、其他命令。
1. 运动命令
forward(d):向前移动d长度(右侧开始)
backward(d): 向后移动d长度
right(d): 向右旋转多少度
left(d): 向左旋转多少度
goto(x,y):移动到指定的(x,y)坐标轴的位置
turtle.clear() # 情况窗口,不会重置turtle
turtle.reset() # 回复所有设置,清空窗口,重置turtle状态
speed(): 小海龟移动的速度
2. 笔画控制命令
circle(r,e) 绘制一个圆形,r为半径,e为度,满圆是365度,还可以steps= 4,用步数来表示。对应的这三个值分别为:radius(半径);extent(弧度) (optional);steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)
up() 笔画抬起,在移动的是后不再画图
down() 笔画方向
setheading(d) 重置小海龟的方向
pensize(width) 画笔的宽度
pencolor(colorstr) 画笔的颜色
begin_fill() # 填充命令开始
fillcolor(colorstr) # 填充颜色
end_fill() # 结束填充
3. 其他命令
done(): 程序继续执行
undo(): 撤销上一次动作
hideturtle(): 隐藏海龟
showturtle(): 显示海龟
screensize(x,y): 屏幕大小
举例1:
turtle.screensize(1000, 100) # 设置屏幕大小
turtle.forward(10) # 向前移动(右)10步
turtle.undo() # 撤销上一步
turtle.forward(100) # 向前移动(右)100步
turtle.undo() # 撤销上一步
turtle.hideturtle() # 隐藏小海龟(光标)
turtle.showturtle() # 展现小海龟(光标)
turtle.clear() # 情况窗口,不会重置turtle
turtle.reset() # 回复所有设置,清空窗口,重置turtle状态
turtle.done() # 继续执行——这个一般加载在小海龟的末尾,保存图形保存。
举例2:相关的运行指令,用forward 和 left命令画一个矩形。
# 举例2:
# 相关的运动命令 用forward 和 left命令画一个矩形
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.hideturtle()
turtle.done()
显示图形:

举例3:
turtle.backward(50) # 向后移动
turtle.right(50) # 向右旋转多少度
turtle.goto(50, 100) # 移动到指定的(x, y)
turtle.speed(50) # 小海龟移动的速度
turtle.done()
显示图形:

举例4:
turtle.speed(1.5)
turtle.pensize(10)
turtle.pencolor("black")
turtle.begin_fill() # 开始填充
turtle.circle(200, steps= 10)
turtle.fillcolor("blue") # 填充颜色
turtle.end_fill() # 结束填充
turtle.up()
turtle.down()
turtle.setheading(30)
turtle.done()
显示图形:

Python笔记_第一篇_面向过程_第一部分_8.画图工具(小海龟turtle)的更多相关文章
- Python笔记_第一篇_面向过程_第一部分_2.内存详解
Python的很多教材中并没有讲内存方面的知识,但是内存的知识非常重要,对于计算机工作原理和方便理解编程语言是非常重要的,尤其是小白,因此需要把这一方面加上,能够更加深入的理解编程语言.这里引用了C语 ...
- Python笔记_第二篇_面向过程_第二部分_2.路径、栈和队列、内存修改
这一部分分三个主题进行讲解,主要为后面的模块.包.第三方库的概念补充一些相关的内容. 1. 路径(Path): 相对路径和绝对路径. 举例1:我们先导入一个os库(模块)来观察一下路径 import ...
- 四、java基础-面向过程_对象_类中可出现的因素
1.面向过程和面向对象区别: 1)面向过程:开发一个应用程序.一个项目,必须先了解整个过程,了解各个步骤.模块间的因果关系,使的面向过程方式去开发程序时,代码和代码之间的关联程度是非常强.所以其中任何 ...
- python自动化开发-[第五天]-面向过程、模块、包
今日概要: 1.内置模块 2.协程函数 3.递归 4.面向过程编程与函数编程 5.模块 6.包 7.re正则 一.内置模块 1.匿名函数lambda 定义:匿名函数通常是创建了可以被调用的函数,它返回 ...
- python第四周迭代器生成器序列化面向过程递归
第一节装饰器复习和知识储备------------ 第一节装饰器复习和知识储备------------ def wrapper(*args,**kwargs): index(*args,**kwa ...
- [Python笔记]第八篇:模块
本篇主要内容:python常用模块用法介绍 什么是模块 模块,用一大段代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性 ...
- [Python笔记]第三篇:深浅拷贝、函数
本篇主要内容:深浅拷贝,自定义函数,三目运算,lambda表达式, 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import ...
- python之迭代器、生成器、面向过程编程
一 迭代器 一 迭代的概念 #迭代器即迭代的工具,那什么是迭代呢?#迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单纯地重复,因而不 ...
- python函数之协程与面向过程编程
第一:协程 初步了解协程 def eater(): print('start to eat') while True: food=yield print('is eating food:%s'%foo ...
随机推荐
- NVIDIA TX2--3--NVIDIA Jetson TX2 查看系统版本参数状态及重要指令
NVIDIA Jetson TX2 查看系统参数状态. 当前博主的TX2更新的版本为:Jetpack 3.3, cuda 9.0.252, cudnn7.0, opencv3.3.1, TensorR ...
- JavaScript面试题(转)
JS相关问题 数组去重 function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++) ...
- Java enum应用小结
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...
- 【每日Scrum】第十天冲刺
一.计划会议内容 尝试整合代码 二.任务看板 任务看板 已完成:登录与个人界面布局实现,UI设计美化,地图主界面 进行中:功能整合, 待进行:连接数据库 三.scrum讨论照片 四.产品的状态 无 五 ...
- Linux笔记01
linux目录结构 : linux只有一个目录. usr:等价于programfiles: etc:存放系统配置 root:管理员(超级用户)目录, home:存放其他用户的目录: lib:共享包: ...
- zset底层数据结构
redis zset底层数据结构 https://www.jianshu.com/p/fb7547369655 跳跃列表(Skip List)与其在Redis中的实现详解 https://www.ji ...
- java使用mongoTemplate去重排序查询
import org.springframework.data.mongodb.core.MongoTemplate;import org.springframework.data.mongodb.c ...
- Java查漏补缺(3)(面向对象相关)
Java查漏补缺(3) 继承·抽象类·接口·静态·权限 相关 this与super关键字 this的作用: 调用成员变量(可以用来区分局部变量和成员变量) 调用本类其他成员方法 调用构造方法(需要在方 ...
- js 循环与判断语句的几个练习
<script type="text/javascript"> /*1.X3 * 6528 = 3X * 8256 X为一个数字 填入一个数字 使等式成立*/ for ...
- cors跨域和jsonp劫持漏洞 和 同源策略和跨域请求解决方案
cors跨域和jsonp劫持漏洞: https://www.toutiao.com/a6759064986984645127/ 同源策略和跨域请求解决方案:https://www.jianshu.co ...