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实现分析apache和nginx日志文件并输出访客ip列表的方法
Apr 04 Python
深入Python函数编程的一些特性
Apr 13 Python
Python序列操作之进阶篇
Dec 08 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
python实现12306抢票及自动邮件发送提醒付款功能
Mar 08 Python
详解Matplotlib绘图之属性设置
Aug 23 Python
python 中xpath爬虫实例详解
Aug 26 Python
Python socket服务常用操作代码实例
Jun 22 Python
python 绘制正态曲线的示例
Sep 24 Python
详解tensorflow之过拟合问题实战
Nov 01 Python
scrapy头部修改的方法详解
Dec 06 Python
pycharm 快速解决python代码冲突的问题
Jan 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根据年月获取季度的方法
2014/03/31 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
动态加载iframe
2006/06/16 Javascript
通用JS事件写法实现代码
2009/01/07 Javascript
扩展easyui.datagrid,添加数据loading遮罩效果代码
2010/11/02 Javascript
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
JavaScript中数据结构与算法(五):经典KMP算法
2015/06/19 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
详谈Node.js之操作文件系统
2017/08/29 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
[38:41]2014 DOTA2国际邀请赛中国区预选赛 LGD VS CNB
2014/05/22 DOTA
Python函数中不定长参数的写法
2019/02/13 Python
python根据多个文件名批量查找文件
2019/08/13 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
python实现静态服务器
2019/09/05 Python
python3 简单实现组合设计模式
2020/07/02 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
Django多个app urls配置代码实例
2020/11/26 Python
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
保护环境建议书300字
2014/05/13 职场文书
奥巴马就职演讲稿
2014/05/15 职场文书
公司总经理任命书
2014/06/05 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话全文
2014/10/25 职场文书
安全生产先进个人事迹材料
2014/12/30 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
欠条范文
2015/07/03 职场文书
军事理论课感想
2015/08/11 职场文书
诚实守信主题班会
2015/08/13 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python