使用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实现的简单万年历例子分享
Apr 25 Python
跟老齐学Python之有容乃大的list(2)
Sep 15 Python
Python多线程编程(七):使用Condition实现复杂同步
Apr 05 Python
python字典基本操作实例分析
Jul 11 Python
django开发教程之利用缓存文件进行页面缓存的方法
Nov 10 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
Python多进程fork()函数详解
Feb 22 Python
python 制作python包,封装成可用模块教程
Jul 13 Python
树莓派4B安装Tensorflow的方法步骤
Jul 16 Python
python实现发送QQ邮件(可加附件)
Dec 23 Python
Python爬虫实现selenium处理iframe作用域问题
Jan 27 Python
聊聊Python中关于a=[[]]*3的反思
Jun 02 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函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
php创建sprite
2014/02/11 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
对PHP依赖注入的理解实例分析
2016/10/09 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
PHP+MySQL实现在线测试答题实例
2020/01/02 PHP
基于jquery的大众点评,分类导航实现代码
2011/08/23 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
详解vuex的简单todolist例子
2019/07/14 Javascript
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
Python多线程编程(五):死锁的形成
2015/04/05 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
Python输出指定字符串的方法
2020/02/06 Python
Python tkinter之ComboBox(下拉框)的使用简介
2021/02/05 Python
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
库存图片、照片、矢量图、视频和音乐:Shutterstock
2021/02/12 全球购物
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
《将心比心》教学反思
2014/04/08 职场文书
党的作风建设心得体会
2014/10/22 职场文书
公司捐书倡议书
2015/04/27 职场文书
英语投诉信范文
2015/07/03 职场文书
js 实现验证码输入框示例详解
2022/09/23 Javascript