Python实战程序分析——七色花子
2020-01-15 05:43
190 查看
一、效果图
二、程序分析
本次程序我们依然是使用turtle库进行绘制的,因此在我们的程序第一行就是加载我们Python的turtle库了,不了解的同学可以参看我的上一篇博客哦。
接下来就是对我们的程序进行分析了,观察我们的效果图,发现本次的程序和上一次的程序有着一个相同之处——螺旋。上次我们绘制了螺旋的正方形,我们这一次绘制螺旋的正七边形,那么绘制正七边形的程序和上一次绘制正方形的程序就是大同小异了:
for i in range(300): turtle.forward(i) turtle.left(360/7+1) turtle.done()
螺旋的正七边形我们已经绘制完毕,下一步就是给我们的正七边形进行上色了。改变画笔颜色我们这里将要用到turtle的内置函数:turtle.pencolor(),给这个函数传递一个颜色名字,我们的画笔颜色就会发生改变。
# 直接传递颜色名字 turtle.pencolor('red') turtle.pencolor('#33cc8c') # RGB模式首先要改变模式再传递RGB值 turtle.colormode(255) turtle.pencolor(255,25,25)
我们本次程序使用的颜色有:‘red’,‘orange’,‘yellow’,‘green’,‘cyan’,‘blue’,‘purple’
然后将我们的颜色添加进列表里面:
colors = ['red','orange','yellow','green','cyan','blue','purple']
接下来我们让每一次画一条边的时候都改变一次颜色,把pencolor添加进循环,这样每一次循环就改变一次颜色:
colors = ['red','orange','yellow','green','cyan','blue','purple']for x in range(300): turtle.pencolor(colors[x%len(colors)]) turtle.forward(x) turtle.left(360/len(colors)+1) turtle.done()
大家这个时候可能会发现我们的画作颜色太不显眼了,而且每一条边的宽度都是一个样样的,一点都不够炫酷啊!我们通过下面的方式来解决这两个问题。
首先解决对比度的问题,要么我们就一个一个为花朵找颜色,找到对比度强的颜色。另一种解决方式就是更换画布,也就是背景,既然白色太显眼了,那我们就用黑色,这下对比度应该就高了吧。改变画布颜色我们使用turtle.bgcolor()函数,使用方法和改变画笔颜色类似,来将我们的画布换成黑色的:
turtle.bgcolor('black')
下一个问题是改变画笔的宽度,这一次我们需要使用turtle.pensize()这个函数,为它传递一个数字就能改变画笔的宽度:
for x in range(300): turtle.forward(x) turtle.left(360/7+1) pen.width(x*0.03) # 这个比例是我自己试的 # 大家可以尝试其他比例找到自己最欢的
三、源代码
import turtle turtle.bgcolor('black')colors = ['red','orange','yellow','green','cyan','blue','purple']turtle.speed(10) for x in range(300): turtle.pencolor(colors[x%len(colors)]) turtle.forward(x) turtle.left(360/len(colors)+1) turtle.width(x*0.03) turtle.done()
今天的代码分析就到这里了,小伙伴们快去试一下吧!
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- ###好好好### 【Python实战】Pandas:让你像写SQL一样做数据分析 ######
- Python网络爬虫实战:根据天猫胸罩销售数据分析中国女性胸部大小分布
- 基于Flask框架的Python web程序的开发实战 环境搭建
- Python数据分析实战基础 | 初识Pandas
- python实战:破解网易云音乐params及encSecKey加密参数实现歌单内任意歌曲下载(附参数分析过程)
- 使用cProfiler对Python程序进行性能分析
- Python数据分析与挖掘实战第五章笔记之聚类分析
- 最新Python3实战Spark大数据分析及调度
- 学习python实战:年会抽奖程序的实现.md
- Python 开发工具集:关于文档、测试、调试、程序的优化和分析
- Python数据分析与挖掘实战—挖掘建模
- Python程序的性能分析指南
- 2018最新Python数据分析实战
- Python数据分析与挖掘实战 第7章
- Python 数据分析微专业课程--项目实战09 房价影响因素挖掘
- 2018最新Python数据分析实战教程视频 python数据分析班视频 Python数据分析基础教程 利用Python进行数据分析
- Python爬虫开发与项目实战——基础爬虫分析
- python实战:利用chrome抓包插件HTTP间谍分析有道翻译反爬机制
- Python网络爬虫实战:天猫胸罩销售数据分析
- 一个 Python 程序每一行的内存占用分析- 杨超(星辰海 | 真人图书馆·Python 程序员) - 42qu.com