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通过websocket与js客户端通信示例分析
Jun 25 Python
用python登录Dr.com思路以及代码分享
Jun 25 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
python MysqlDb模块安装及其使用详解
Feb 23 Python
详解用python写网络爬虫-爬取新浪微博评论
May 10 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
Apr 27 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 Python
如何用python处理excel表格
Jun 09 Python
Pytorch 使用CNN图像分类的实现
Jun 16 Python
Python实现http接口自动化测试的示例代码
Oct 09 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调用Linux命令权限不足问题解决方法
2015/02/07 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
PHP _construct()函数讲解
2019/02/03 PHP
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
微信小程序实战之自定义toast(6)
2017/04/18 Javascript
微信小程序中form 表单提交和取值实例详解
2017/04/20 Javascript
js 两个日期比较相差多少天的实例
2017/10/19 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
使用python Django做网页
2013/11/04 Python
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
python实现根据文件关键字进行切分为多个文件的示例
2018/12/10 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
python pytest进阶之fixture详解
2019/06/27 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
python实现AdaBoost算法的示例
2020/10/03 Python
Calphalon美国官网:美国顶级锅具品牌
2020/02/05 全球购物
大学校运会广播稿
2014/02/03 职场文书
大学毕业感言200字
2014/03/09 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
社区春季防火方案
2014/06/02 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
趣味运动会标语口号
2015/12/26 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang