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()
显示图形:
最新文章
- iOS开发常用校验
- (转)LSTM NEURAL NETWORK FOR TIME SERIES PREDICTION
- ios https适配(单向验证)
- js删除提醒
- Winform webBrowser 不跳转网页
- xcode7启动页的尺寸设置
- 最优秀的5个Linux文本编辑器
- java.lang.NoClassDefFoundError: com/ibatis/sqlmap/engine/mapping/result/BasicResultMap
- 论山寨手机与Android 【12】3G时代SmartPhone BP部分
- 拆除vs发展c++程序开发过程中产生的.ipch和.sdf文件的方法
- 开源中文分词工具探析(五):Stanford CoreNLP
- Android动画-View动画
- HTML5 WebSocket 权威指南 学习一 (第二章 WebSocket API)
- 连接MSSQL2008 Express
- Java NIO.2 —— 文件或目录删除操作
- 【BZOJ2281】【Sdoi2011】黑白棋 解题报告
- Go常用功能总结一阶段
- 使用NSHashTable存储引用对象
- 4.scala中的类
- MongoDB如何释放空闲空间?
热门文章
- SpringMVC: JSON
- jmeter --- 压测时,如何让串联压测多个接口
- 基于Ambari的WebUI部署Hive服务
- hdu 3388 Coprime
- LA_4730 Kingdom 并查集+树状数组
- 静听网+python爬虫+多线程+多进程+构建IP代理池
- 【Tensorflow】(tf.Graph)和(tf.session)
- Java并发基础类AbstractQueuedSynchronizer的实现原理简介
- SpringMVC:提交参数名与接收参数名问题
- Firefly-RK3399 上编译安装 OpenCV 3