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实现的tab文件操作类分享
Nov 20 Python
Python最基本的输入输出详解
Apr 25 Python
python+django快速实现文件上传
Oct 24 Python
python实现的二叉树定义与遍历算法实例
Jun 30 Python
Python实现的简单排列组合算法示例
Jul 04 Python
Python2 Selenium元素定位的实现(8种)
Feb 25 Python
python里 super类的工作原理详解
Jun 19 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
python实现指定ip端口扫描方式
Dec 17 Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 Python
Python爬虫之爬取淘女郎照片示例详解
Jul 28 Python
如何利用python发送邮件
Sep 26 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多线程抓取网页实现代码
2010/07/22 PHP
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
php array_filter除去数组中的空字符元素
2020/06/21 PHP
用php随机生成福彩双色球号码的2种方法
2013/02/04 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
PHP中exec与system用法区别分析
2014/09/22 PHP
javascript 拖放效果实现代码
2010/01/22 Javascript
JavaScript flash复制库类 Zero Clipboard
2011/01/17 Javascript
JSON中双引号的轮回使用过程中一定要小心
2014/03/05 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
js编写选项卡效果
2017/05/23 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
js中getter和setter用法实例分析
2018/08/14 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
使用python实现BLAST
2018/02/12 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
Python列表的切片实例讲解
2019/08/20 Python
Pycharm和Idea支持的vim插件的方法
2020/02/21 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
美国最好的葡萄酒网上商店:Wine Library
2019/11/02 全球购物
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
UNIX文件名称有什么规定
2013/03/25 面试题
2014年庆元旦活动方案
2014/02/15 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
计划生育个人总结
2015/03/02 职场文书
如何用vue实现网页截图你知道吗
2021/11/17 Vue.js