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回调函数的使用方法
Jan 23 Python
跟老齐学Python之模块的加载
Oct 24 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
Jul 13 Python
遗传算法之Python实现代码
Oct 10 Python
tensorflow创建变量以及根据名称查找变量
Mar 10 Python
python正则-re的用法详解
Jul 28 Python
通过celery异步处理一个查询任务的完整代码
Nov 19 Python
python操作docx写入内容,并控制文本的字体颜色
Feb 13 Python
Python netmiko模块的使用
Feb 14 Python
python Plotly绘图工具的简单使用
Mar 03 Python
Python基于jieba, wordcloud库生成中文词云
May 13 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
Nov 11 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学习资料汇总与网址
2007/03/16 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
ThinkPHP表单自动验证实例
2014/10/13 PHP
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
jQuery验证Checkbox是否选中的代码 推荐
2011/09/04 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
2016/10/24 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
使用jQuery实现页面定时弹出广告效果
2017/08/24 jQuery
zTree jQuery 树插件的使用(实例讲解)
2017/09/25 jQuery
用Webpack构建Vue项目的实践
2017/11/07 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
亲自动手实现vue日历控件
2019/06/26 Javascript
Python实现获取操作系统版本信息方法
2015/04/08 Python
Python中如何获取类属性的列表
2016/12/26 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
Python求正态分布曲线下面积实例
2019/11/20 Python
python实现信号时域统计特征提取代码
2020/02/26 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
TensorFlow固化模型的实现操作
2020/05/26 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
html5 div布局与table布局详解
2016/11/16 HTML / CSS
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
关于保护环境的建议书
2014/05/13 职场文书
三问三解心得体会
2014/09/05 职场文书
优质护理服务心得体会
2016/01/22 职场文书