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 30 Python
python密码错误三次锁定(实例讲解)
Nov 14 Python
python3使用SMTP发送简单文本邮件
Jun 19 Python
Python之用户输入的实例
Jun 22 Python
提升Python程序性能的7个习惯
Apr 14 Python
python求最大值最小值方法总结
Jun 25 Python
python腾讯语音合成实现过程解析
Aug 01 Python
对Django中内置的User模型实例详解
Aug 16 Python
如何使用selenium和requests组合实现登录页面
Feb 03 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
Feb 22 Python
Python的Tqdm模块实现进度条配置
Feb 24 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批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
类之Prototype.js学习
2007/06/13 Javascript
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
jquery实现树形二级菜单实例代码
2013/11/20 Javascript
JQuery 在线引用及测试引用是否成功
2014/06/24 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
jQuery基于cookie实现换肤功能实例
2017/10/14 jQuery
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python求解水仙花数的方法
2015/05/11 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
python 实现语音聊天机器人的示例代码
2018/12/02 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
python装饰器练习题及答案
2019/11/01 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
英国工具中心:UK Tool Centre
2017/07/10 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
读书活动总结
2014/04/28 职场文书
法定代表人身份证明书
2014/09/10 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
公司回复函格式
2015/07/14 职场文书
小学三年级语文教学反思
2016/03/03 职场文书
MySQL infobright的安装步骤
2021/04/07 MySQL
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python