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 相关文章推荐
Python random模块(获取随机数)常用方法和使用例子
May 13 Python
Python中列表(list)操作方法汇总
Aug 18 Python
Python黑魔法@property装饰器的使用技巧解析
Jun 16 Python
Python如何快速实现分布式任务
Jul 06 Python
Python之list对应元素求和的方法
Jun 28 Python
python实现嵌套列表平铺的两种方法
Nov 08 Python
Python Collatz序列实现过程解析
Oct 12 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
Dec 25 Python
用python实现名片管理系统
Jun 18 Python
python使用pygame创建精灵Sprite
Apr 06 Python
Python的flask接收前台的ajax的post数据和get数据的方法
Apr 12 Python
浅析Python实现DFA算法
Jun 26 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中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
python实现爬虫下载美女图片
2015/07/14 Python
用Python设计一个经典小游戏
2017/05/15 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
在html页面中取得session中的值的方法
2020/08/11 HTML / CSS
Sneaker Studio波兰:购买运动鞋
2018/04/28 全球购物
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
25道Java面试题集合
2013/05/21 面试题
护理专业的自荐信
2013/10/22 职场文书
培训主管的岗位职责
2013/11/23 职场文书
应届毕业生求职信范文
2013/12/18 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
演讲稿的格式及范文
2014/08/22 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
三好学生事迹材料
2014/12/24 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
2021年最新用于图像处理的Python库总结
2021/06/15 Python
JS高级程序设计之class继承重点详解
2022/07/07 Javascript