使用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数据库操作常用功能使用详解(创建表/插入数据/获取数据)
Dec 06 Python
举例讲解Python中装饰器的用法
Apr 27 Python
matplotlib中legend位置调整解析
Dec 19 Python
Python3之读取连接过的网络并定位的方法
Apr 22 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
Jul 02 Python
Python中asyncio与aiohttp入门教程
Oct 16 Python
基于python历史天气采集的分析
Feb 14 Python
Python爬虫beautifulsoup4常用的解析方法总结
Feb 25 Python
如何使用python传入不确定个数参数
Feb 18 Python
python asyncio 协程库的使用
Jan 21 Python
python在协程中增加任务实例操作
Feb 28 Python
python3美化表格数据输出结果的实现代码
Apr 14 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
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
2015/12/29 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
jQuery Tools tooltip使用说明
2012/07/14 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
jQuery.clean使用方法及思路分析
2013/01/07 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
2015/12/13 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
JavaScript函数中的this四种绑定形式
2017/08/15 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
node.JS二进制操作模块buffer对象使用方法详解
2020/02/06 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
Python Web框架之Django框架Model基础详解
2019/08/16 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
Python使用shutil模块实现文件拷贝
2020/07/31 Python
纯CSS3实现扇形动画菜单(简化版)实例源码
2017/01/17 HTML / CSS
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
简短证婚人证婚词
2014/01/09 职场文书
自主实习接收函
2014/01/13 职场文书
2014年售票员工作总结
2014/11/19 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
直播实况, OMG破敌三路五十分钟大战神技局摩托车
2022/04/01 DOTA