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字符串连接方式汇总
Aug 21 Python
Python引用(import)文件夹下的py文件的方法
Aug 26 Python
python将ip地址转换成整数的方法
Mar 17 Python
python计算文本文件行数的方法
Jul 06 Python
python实现判断数组是否包含指定元素的方法
Jul 15 Python
Python编码类型转换方法详解
Jul 01 Python
完美解决在oj中Python的循环输入问题
Jun 25 Python
Tensorflow训练模型越来越慢的2种解决方案
Feb 07 Python
详解Python高阶函数
Aug 15 Python
python实现人工蜂群算法
Sep 18 Python
python实现录音功能(可随时停止录音)
Oct 26 Python
Python 找出英文单词列表(list)中最长单词链
Dec 14 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代码
2013/03/24 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
2014/02/13 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
php简单获取目录列表的方法
2015/03/24 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
微信小程序里引入SVG矢量图标的方法
2019/09/20 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
代码分析Python地图坐标转换
2018/02/08 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
提升Python程序性能的7个习惯
2019/04/14 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
python中time库的实例使用方法
2019/10/31 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
2020/05/22 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
群众路线领导班子整改方案
2014/10/25 职场文书
英文感谢信范文
2015/01/21 职场文书
公务员政审个人总结
2015/02/12 职场文书
门球健将观后感
2015/06/16 职场文书
公司业务员管理制度
2015/08/05 职场文书
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server