Python中turtle作图示例


Posted in Python onNovember 15, 2017

在Python里,海龟不仅可以画简单的黑线,还可以用它画更复杂的几何图形,用不同的颜色,甚至还可以给形状填色。

一、从基本的正方形开始

引入turtle模块并创建Pen对象:

>>> import turtle
>>> t = turtle.Pen()

前面我们用来创建正方形的代码如下:

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

此段代码太长,我们可以用for循环进行优化:

>>> t.reset()
>>> for x in range(1,5):
  t.forward(50)
  t.left(90)

效果如下:

Python中turtle作图示例

二、画星星

我们只需把for循环做一些改动即可,代码如下:

>>> t.reset()
>>> for x in range(1,9):  ##循环八次
  t.forward(100)   ##前进100像素
  t.left(225)     ##向左旋转225度

效果如下:

Python中turtle作图示例

然而我们还可以进一步改进,比如每次旋转175度,循环37次,代码如下:

>>> t.reset()
>>> for x in range(1,38):
  t.forward(100)
  t.left(175)

效果如下:

Python中turtle作图示例

我们还可以画螺旋星,代码如下:

>>> t.reset()
>>> for x in range(1,20):
  t.forward(100)
  t.left(95)

效果如下:

Python中turtle作图示例

现在让我们用if语句控制海龟的转向来绘制不同的星星。让海龟先转一个角度,然后下一次转一个不同的角度。

在这里,我们先创建一个运行18次的循环(range(1,19)),然后让海龟向前移动100个像素(t.forward(100))。接下来是if语句(ifx%2 == 0),它的意思是:x除以2的余数是否等于0.如果x中的数字是偶数,我们让海龟左转175度(t.left(175)),否则(else)我们让它左转225度。代码如下:

>>> t.reset()
>>> for x in range(1,19):
  t.forward(100)
  if x % 2 == 0:
    t.left(175)
  else:
    t.left(225)

效果如下:

Python中turtle作图示例

三,画汽车

试着画一辆小汽车,给自己树立一个小目标,说不定哪一天就实现了。

(这段代码新增了color,begin_fill,end_fill,circle,setheading函数)

>>> import turtle
>>> t = turtle.Pen()
>>> t.color(1,0,0)
>>> t.begin_fill()
>>> t.forward(100)
>>> t.left(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.forward(20)
>>> t.right(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.forward(60)
>>> t.left(90)
>>> t.forward(20)
>>> t.right(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.forward(20)
>>> t.end_fill()

车身
>>> t.color(0,0,0)
>>> t.up()
>>> t.forward(10)
>>> t.down()
>>> t.begin_fill()
>>> t.circle(10)
>>> t.end_fill()

左车轮
>>> t.setheading(0)
>>> t.up()
>>> t.forward(90)
>>> t.right(90)
>>> t.forward(10)
>>> t.setheading(0)
>>> t.begin_fill()
>>> t.down()
>>> t.circle(10)
>>> t.end_fill()

右车轮

整合后效果如下:

Python中turtle作图示例

下面来集中介绍下新增的几个函数:

1,color是用来改变画笔颜色的。

2,begin_fill和end_fill是用来给画布上的一个区域填色的。

3,circle是用来画一个指定大小的圆。

4,setheading让海龟面向指定的方向。

总结:

这次比上次更深入的运用了Python的turtle模块来画几个基本的几何图形,还有for循环和if语句来控制海龟在屏幕上的动作。同时改变了海龟的笔的颜色并给它所画的形状填色。接下来将开始学习填色。

以上就是本文关于Python中turtle作图示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。期待您的宝贵意见。

Python 相关文章推荐
Python实现二分查找算法实例
May 26 Python
Python使用win32 COM实现Excel的写入与保存功能示例
May 03 Python
tensorflow 获取变量&打印权值的实例讲解
Jun 14 Python
通过python顺序修改文件名字的方法
Jul 11 Python
python flask实现分页的示例代码
Aug 02 Python
解读python如何实现决策树算法
Oct 11 Python
Django使用redis缓存服务器的实现代码示例
Apr 28 Python
python lxml中etree的简单应用
May 10 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
Jun 04 Python
用Python开发app后端有优势吗
Jun 29 Python
Python模拟登录和登录跳转的参考示例
Oct 30 Python
python井字棋游戏实现人机对战
Apr 28 Python
Django原生sql也能使用Paginator分页的示例代码
Nov 15 #Python
使用Python的turtle模块画图的方法
Nov 15 #Python
python绘制铅球的运行轨迹代码分享
Nov 14 #Python
Python实现句子翻译功能
Nov 14 #Python
简述:我为什么选择Python而不是Matlab和R语言
Nov 14 #Python
Python与R语言的简要对比
Nov 14 #Python
Python基础语言学习笔记总结(精华)
Nov 14 #Python
You might like
PHP如何抛出异常处理错误
2011/03/02 PHP
Yii学习总结之安装配置
2015/02/22 PHP
php内嵌函数用法实例
2015/03/20 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
JS实现往下不断流动网页背景的方法
2015/02/27 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
JavaScript实现横线提示输入验证码随输入验证码输入消失的方法
2016/09/24 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
2017/03/08 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
解决vue-cli webpack打包后加载资源的路径问题
2018/09/25 Javascript
jquery分页插件pagination使用教程
2018/10/23 jQuery
js常用正则表达式集锦
2019/05/17 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
OpenLayers3实现图层控件功能
2020/09/25 Javascript
vue-video-player视频播放器使用配置详解
2020/10/23 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
Python利用多进程将大量数据放入有限内存的教程
2015/04/01 Python
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
python中pivot()函数基础知识点
2021/01/03 Python
CSS3 创建网页动画实现弹跳球动效果
2018/10/30 HTML / CSS
服装厂厂长岗位职责
2013/12/27 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
个人总结与自我评价
2015/02/14 职场文书
教师师德表现自我评价
2015/03/05 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL
使用Bandicam录制鼠标指针并附带点击声音,还可以添加点击动画效果
2022/04/11 数码科技
Java中的Kotlin 内部类原理
2022/06/16 Java/Android