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操作日期和时间的方法
Mar 11 Python
Python中MySQL数据迁移到MongoDB脚本的方法
Apr 28 Python
python 自动去除空行的实例
Jul 24 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
Jan 17 Python
python将pandas datarame保存为txt文件的实例
Feb 12 Python
tensorboard显示空白的解决
Feb 15 Python
利用pandas向一个csv文件追加写入数据的实现示例
Apr 23 Python
哪些是python中web开发框架
Jun 17 Python
python程序需要编译吗
Jun 19 Python
利用keras使用神经网络预测销量操作
Jul 07 Python
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
Apr 14 Python
python在package下继续嵌套一个package
Apr 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
PHP 的 __FILE__ 常量
2007/01/15 PHP
php面向对象的方法重载两种版本比较
2008/09/08 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
php之可变函数的实例详解
2017/09/13 PHP
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
js Math 对象的方法
2013/09/01 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
2013/12/02 Javascript
点击弹出层效果&弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
css如何让浮动元素水平居中
2015/08/07 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
2016/01/10 Javascript
微信小程序 实现点击添加移除class
2017/06/12 Javascript
关于Mac下安装nodejs、npm和cnpm的教程
2018/04/11 NodeJs
浅谈React Event实现原理
2018/09/20 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
JS实现图片幻灯片效果代码实例
2020/05/21 Javascript
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
Python基于分水岭算法解决走迷宫游戏示例
2017/09/26 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
python中entry用法讲解
2020/12/04 Python
CSS3 实现弹跳的小球动画
2020/10/26 HTML / CSS
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
平面设计师工作职责范文
2013/12/03 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
病媒生物防治方案
2014/05/13 职场文书
干部对照检查材料范文
2014/08/26 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python