Python实现七彩蟒蛇绘制实例代码


Posted in Python onJanuary 16, 2018

本文主要研究的是Python编程turtle的实例,绘制一个七彩蟒蛇。。具体如下。

第2周的课后练习里,有一道题目,要求修改“蟒蛇绘制”程序,对Python 蟒蛇的每个部分采用不同颜色,绘制一条彩色蟒蛇。

原蟒蛇绘制程序如下:

因为刚开始学Python,不太熟悉,所以自己加了一些注释,方便理解。

#蟒蛇绘制
import turtle

def drawSnake(rad,angle,len,neckrad):
  for i in range(len):
    turtle.circle(rad,angle) #画圆 rad:圆半径 angle:圆弧度
    turtle.circle(-rad,angle) #运行轨迹右侧rad远的地方绘制圆
  turtle.circle(rad,angle/2)
  turtle.fd(rad) #表示直线爬行,forward,参数表示爬行的距离
  turtle.circle(neckrad+1,180)
  turtle.fd(rad*2/3)

def main():
  turtle.setup(1300,800,0,0) #设置窗口宽+高+起始位置
  pythonsize = 30
  turtle.pensize(pythonsize) #设置笔的宽度
  turtle.pencolor("blue") #设置笔的颜色
  turtle.seth(-40) #设置笔的起始角度
  drawSnake(40,80,5,pythonsize/2)

通过仔细分析了该代码,发现这段代码中画笔的颜色,是通过pencolor()来设置,如果想要将颜色变为彩色,显然不能再用这种方法,因此我想到了用列表来解决这个问题,于是在drawSnake里创建一个名为colors的列表变量并且在列表中放置6种颜色,如下所示:

colors = [“red”,”orange”,”yellow”,”green”,”cyan”,”blue”]

在此之前呢,因为原先的程序里,len的值是5,因此画出来的蟒蛇的身体只有五部分,为了显示为七彩,特地将len的值改为6.

在for循环里,在绘画之前,增加了一条语句,用来设置画笔的颜色:

turtle.color(colors[i])

colors[i]中,i和for循环里的是同一个变量,当i从0变化到5,相应的,color()就会从前面所添加的、名为colors的颜色名称列表中选取一种颜色,设置为画笔的颜色。

而蟒蛇的头部,则利用turtle.color(“purple”)设置为第7种颜色。

运行之后,我发现turtle每次绘图,都是从画板的中心开始的,我觉得不太好看,于是想找到一种方法能够改变绘图的起点,目前我找到的方法是,利用penup(),goto(),pendown()命令来改变画笔起点的位置,如下所示:

turtle.penup()
turtle.goto(-350,0)
turtle.pendown()

如果后续再发现更好的方法,再更新。

一条七彩的蟒蛇就绘制好啦~

#蟒蛇绘制
import turtle

def drawSnake(rad,angle,len,neckrad):

  colors = ["red","orange","yellow","green","cyan","blue"]
  for i in range(len):
    turtle.color(colors[i])
    turtle.circle(rad,angle)
    turtle.circle(-rad,angle)

  turtle.color("purple")
  turtle.circle(rad,angle/2)
  turtle.fd(rad)
  turtle.circle(neckrad+1,180)
  turtle.fd(rad*2/3)

def main():
  turtle.setup(1300,800,0,0)
  turtle.penup()
  turtle.goto(-350,0)
  turtle.pendown()
  pythonsize = 30
  turtle.pensize(pythonsize)
  turtle.seth(-40)
  drawSnake(40,80,6,pythonsize/2)

main()

结果展示:

Python实现七彩蟒蛇绘制实例代码

总结

以上就是本文关于Python实现七彩蟒蛇绘制实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
pycharm 使用心得(一)安装和首次使用
Jun 05 Python
python PIL模块与随机生成中文验证码
Feb 27 Python
python 类详解及简单实例
Mar 24 Python
Django压缩静态文件的实现方法详析
Aug 26 Python
使用python对excle和json互相转换的示例
Oct 23 Python
python xpath获取页面注释的方法
Jan 14 Python
Python二叉树的镜像转换实现方法示例
Mar 06 Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 Python
python gensim使用word2vec词向量处理中文语料的方法
Jul 05 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Aug 12 Python
Python使用内置函数setattr设置对象的属性值
Oct 16 Python
Python爬虫之Selenium设置元素等待的方法
Dec 04 Python
答题辅助python代码实现
Jan 16 #Python
python实现百万答题自动百度搜索答案
Jan 16 #Python
Python数据结构之双向链表的定义与使用方法示例
Jan 16 #Python
python+pillow绘制矩阵盖尔圆简单实例
Jan 16 #Python
Python面向对象编程之继承与多态详解
Jan 16 #Python
Python基于socket实现简单的即时通讯功能示例
Jan 16 #Python
python中将字典形式的数据循环插入Excel
Jan 16 #Python
You might like
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
javaScript 数值型和字符串型之间的转换
2009/07/25 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
微信小程序 传值取值的几种方法总结
2017/01/16 Javascript
JS简单判断函数是否存在的方法
2017/02/13 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
vue 纯js监听滚动条到底部的实例讲解
2018/09/03 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
vscode 插件开发 + vue的操作方法
2020/06/05 Javascript
vue-router定义元信息meta操作
2020/12/07 Vue.js
[10:21]2018DOTA2国际邀请赛寻真——Winstrike
2018/08/11 DOTA
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
解决Django Static内容不能加载显示的问题
2019/07/28 Python
Python Django 命名空间模式的实现
2019/08/09 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
英国折扣零售连锁店:QD Stores
2018/12/08 全球购物
搞笑车尾标语
2014/06/23 职场文书
婚庆公司计划书
2014/09/15 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
检讨书模板
2015/01/29 职场文书
幼儿园安全管理制度
2015/08/05 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang