使用Python的turtle模块画图的方法


Posted in Python onNovember 15, 2017

简介:turtle是一个简单的绘图工具。它提供了一个海龟,你可以把它理解为一个机器人,只听得懂有限的指令。

1.在文件头写上如下行,这能让我们在语句中插入中文

#-*-coding:utf-8-*-

2.用importturtle导入turtle库

3.绘图窗口的原点(0,0)在正中间。默认情况下,海龟向正右方移动。

4.操纵海龟绘图有着许多的命令,这些命令可以划分为两种:一种为运动命令,一种为画笔控制命令

(1)运动命令:

forward(d) 向前移动距离d代表距离
backward(d) 向后移动距离d代表距离
right(degree) 向右转动多少度
left(degree) 向左转动多少度
goto(x,y) 将画笔移动到坐标为(x,y)的位置
stamp() 绘制当前图形
speed(speed) 画笔绘制的速度范围[0,10]整数

(2)画笔控制命令:

down() 画笔落下,移动时绘制图形
up() 画笔抬起,移动时不绘制图形
setheading(degree) 海龟朝向,degree代表角度
reset() 恢复所有设置
pensize(width) 画笔的宽度
pencolor(colorstring) 画笔的颜色
fillcolor(colorstring) 绘制图形的填充颜色
fill(Ture)  
fill(False)  
circle(radius, extent) 绘制一个圆形,其中radius为半径,extent为度数,例如若extent为180,则画一个半圆;如要画一个圆形,可不必写第二个参数

使用Python的turtle(海龟)模块画图

第一步:让Python引入turtle模块,引入模块就是告诉Python你想要用它。

importturtle

第二步:创建画布。调用turtle中的Pen函数。

t=turtle.Pen()

使用Python的turtle模块画图的方法

第三步:移动海龟。

t.forward(50)

forward的中文意思是“向前地;促进”。所以这行代码的意思是海龟向前移动50个像素:

使用Python的turtle模块画图的方法

t.left(90)

让海龟左转90度

使用Python的turtle模块画图的方法

现在我们可以尝试画一个方块,思路就是前进-转向90度-前进,循环四次。

>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t,forward(50)
>>> t.left(90)
>>> t,forward(50)

效果如下:

使用Python的turtle模块画图的方法

第四步:擦除画布。

>>>t.reset()

重置命令(reset)这会清除画布并把海龟放回开始的位置。

>>>t.clear()

清除命令(clear)只清除屏幕,海龟仍停留在原位。

我们还可以让海龟向右(right)转,或者让它后退(backward)。我们可以用向上(up)来把笔从纸上抬起来(换句话说就是让海龟停止作画),用向下(down)来开始作画。

下面我们综合运用一下,画两条线。

>>> t.reset() //擦除画布并把海龟移回到开始位置
>>> t.backward(100) //后退100个像素
>>> t.up() // 抬笔不再作画
>>> t.right(90) //向右转90度
>>> t.forward(20) //前进20个像素
>>> t.left(90) //向左转90度
>>> t.down() //下笔准备作画
>>> t.forward(100) //前进100个像素

效果如下:

使用Python的turtle模块画图的方法

总结

刚开始学用turtle模块作画,感觉就像小学刚开始作画一样。从前是拿起笔直接在纸上画,到现在使用Python作画时,感觉是把从前作画的动作分解开:准备画布——拿起笔准备作画——开始作画——放下笔不再作画。感觉很有趣,慢慢来,这才只是刚开始。

以上就是本文关于使用Python的turtle模块画图的方法的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。

Python 相关文章推荐
python实现根据主机名字获得所有ip地址的方法
Jun 28 Python
python清除字符串里非数字字符的方法
Jul 02 Python
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
Oct 12 Python
详解Python基础random模块随机数的生成
Mar 23 Python
python仿evething的文件搜索器实例代码
May 13 Python
Python中单线程、多线程和多进程的效率对比实验实例
May 14 Python
Pytorch反向求导更新网络参数的方法
Aug 17 Python
Python : turtle色彩控制实例详解
Jan 19 Python
python实现opencv+scoket网络实时图传
Mar 20 Python
scrapy结合selenium解析动态页面的实现
Sep 28 Python
python爬虫selenium模块详解
Mar 30 Python
python绘制铅球的运行轨迹代码分享
Nov 14 #Python
Python实现句子翻译功能
Nov 14 #Python
简述:我为什么选择Python而不是Matlab和R语言
Nov 14 #Python
Python与R语言的简要对比
Nov 14 #Python
Python基础语言学习笔记总结(精华)
Nov 14 #Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 #Python
python中os和sys模块的区别与常用方法总结
Nov 14 #Python
You might like
一些星际专用术语解释
2020/03/04 星际争霸
PHP编程网上资源导航
2006/10/09 PHP
用PHP控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
Yii调试SQL的常用方法
2014/07/09 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
PHP使用自定义方法实现数组合并示例
2016/07/07 PHP
jQuery 操作XML入门
2008/12/25 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
Jquery性能优化详解
2014/05/15 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
2017/03/08 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
实现jquery放大镜的两种方法
2018/02/22 jQuery
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
Python中的XML库4Suite Server的介绍
2015/04/14 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
Django通过json格式收集主机信息
2020/05/29 Python
Python 如何测试文件是否存在
2020/07/31 Python
统计岗位职责
2014/02/21 职场文书
集体婚礼策划方案
2014/02/22 职场文书
数控专业自荐书范文
2014/03/16 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
给老婆的保证书范文
2014/04/28 职场文书
好听的队名和口号
2014/06/09 职场文书
建筑工地宣传标语
2014/06/18 职场文书
小学教师党员承诺书
2015/04/27 职场文书
故意杀人案辩护词
2015/05/21 职场文书
Vue2.0搭建脚手架
2022/03/13 Vue.js
Java的Object类的九种方法
2022/04/13 Java/Android
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL