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数据结构之二叉树的建立实例
Apr 29 Python
python获取多线程及子线程的返回值
Nov 15 Python
python3如何将docx转换成pdf文件
Mar 23 Python
python删除本地夹里重复文件的方法
Nov 19 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
使用Python编写Prometheus监控的方法
Oct 15 Python
Python函数返回不定数量的值方法
Jan 22 Python
使用python判断jpeg图片的完整性实例
Jun 10 Python
python实现按关键字筛选日志文件
Dec 24 Python
linux环境下安装python虚拟环境及注意事项
Jan 07 Python
Pycharm激活方法及详细教程(详细且实用)
May 12 Python
Python根据URL地址下载文件并保存至对应目录的实现
Nov 15 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安装攻略:常见问题解答(一)
2006/10/09 PHP
用PHP进行MySQL删除记录操作代码
2008/06/07 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
Thinkphp 框架扩展之应用模式实现方法分析
2020/04/27 PHP
9个JavaScript评级/投票插件
2010/01/18 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
2016/04/26 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
vue使用一些外部插件及样式的配置代码
2019/11/18 Javascript
把MySQL表结构映射为Python中的对象的教程
2015/04/07 Python
python3中str(字符串)的使用教程
2017/03/23 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
CK美国官网:Calvin Klein
2016/08/26 全球购物
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
承认错误的检讨书
2014/01/30 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
应聘教师自荐信
2015/03/26 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
django学习之ajax post传参的2种格式实例
2021/05/14 Python