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 调用VC++的动态链接库(DLL)
Sep 06 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
Nov 16 Python
python日志记录模块实例及改进
Feb 12 Python
flask中使用蓝图将路由分开写在不同文件实例解析
Jan 19 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
对python抓取需要登录网站数据的方法详解
May 21 Python
Pycharm 设置自定义背景颜色的图文教程
May 23 Python
python实现比较文件内容异同
Jun 22 Python
python文本数据处理学习笔记详解
Jun 17 Python
Python request使用方法及问题总结
Apr 26 Python
Python 保存加载mat格式文件的示例代码
Aug 04 Python
pandas 实现将NaN转换为None
May 14 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
360通用php防护代码(使用操作详解)
2013/06/18 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
2013/06/25 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
php中chdir()函数用法实例
2014/11/13 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
扩展String功能方法
2006/09/22 Javascript
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
javascript中setAttribute兼容性用法分析
2016/12/12 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
简单的三步vuex入门
2018/05/20 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
python实现从字典中删除元素的方法
2015/05/04 Python
numpy 计算两个数组重复程度的方法
2018/11/07 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
Python自带的IDE在哪里
2020/07/01 Python
英国综合网上购物商城:The Hut
2018/07/03 全球购物
EJB的几种类型
2012/08/15 面试题
离职保密承诺书
2014/05/28 职场文书
项目经理任命书范本
2014/06/05 职场文书
纺织工程专业推荐信
2014/09/08 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
工作感想范文
2015/08/07 职场文书
小学记事作文之200字
2019/08/06 职场文书