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中操作字典之update()方法的使用
May 22 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
Aug 15 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
Mar 08 Python
Python/ArcPy遍历指定目录中的MDB文件方法
Oct 27 Python
Python编程深度学习计算库之numpy
Dec 28 Python
在Django admin中编辑ManyToManyField的实现方法
Aug 09 Python
基于Python安装pyecharts所遇的问题及解决方法
Aug 12 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 Python
Python数据可视化图实现过程详解
Jun 12 Python
python文件目录操作之os模块
May 08 Python
浅谈Python响应式类库RxPy
Jun 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数组函数序列之array_intersect() 返回两个或多个数组的交集数组
2011/11/10 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
PHP微信开发之查询微信精选文章
2016/06/23 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
2016/11/22 PHP
PHP rsa加密解密算法原理解析
2020/12/09 PHP
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
jQuery实现滚动切换的tab选项卡效果代码
2015/08/26 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
关于react-router的几种配置方式详解
2017/07/24 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
Python3读取zip文件信息的方法
2015/05/22 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
Python编程求解二叉树中和为某一值的路径代码示例
2018/01/04 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
神经网络相关之基础概念的讲解
2018/12/29 Python
python DataFrame 取差集实例
2019/01/30 Python
python UDP(udp)协议发送和接收的实例
2019/07/22 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
2020/10/15 Python
银行实习生的自我评价
2013/12/09 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
毕业生个人总结
2015/02/28 职场文书
2015年手术室工作总结
2015/05/11 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
500字作文之难忘的同学
2019/12/20 职场文书
win10安装配置nginx的过程
2021/03/31 Servers