文章目录

  • 一、效果图
  • 二、程序分析
  • 三、源代码

一、效果图

二、程序分析

本次程序我们依然是使用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()

今天的代码分析就到这里了,小伙伴们快去试一下吧!

利用Python绘制图案——七色花子相关推荐

  1. python好看图案的编程代码_利用Python绘制了一些有意思的图案

    下载W3Cschool手机App,0基础随时随地学编程导语 花了点时间利用Python绘制了一些有意思的图案,也算是发掘了一下Python的可视化功能吧... PS: 部分图案参考了一些博客的一部分源 ...

  2. 怎么用python找论文_如何利用Python绘制学术论文图表方法

    论文中图表形式多样,常用的处理工具有excel.MATLAB以及Python等,excel自处理的方法有两个缺陷: 1.当数据较多时,容易出现excel"翻白眼"的现象: 2.需要 ...

  3. python画曲线图-利用python绘制数据曲线图的实现

    "在举国上下万众一心.众志成城做好新冠肺炎疫情防控工作的特殊时刻,我们不能亲临主战场,但我们能坚持在大战中坚定信心.不负韶华." 1.爬取新闻保存为json文件,并将绘图所需数据保 ...

  4. 小程序利用canvas 绘制图案 (生成海报, 生成有特色的头像)

    小程序利用canvas 绘制图案 (生成海报, 生成有特色的头像) 微信小程序生成特色头像,海报等是比较常见的.下面我来介绍下实现该类小程序的过程. 首先选择前端来通过 canvas 绘制.这样比较节 ...

  5. python canvas画弧度_编程作战丨如何利用python绘制可爱皮卡丘?

    好莱坞真人电影<精灵宝可梦:大侦探皮卡丘>预告片已经发布了,正片将于今年5月10日上映. 如果要做一个「童年梦想排行榜」的话,相信「拥有一只皮卡丘」这个梦想一定会名列前茅! 毕竟,谁不想揉 ...

  6. python打印皮卡丘步骤_编程作战丨如何利用python绘制可爱皮卡丘?

    好莱坞真人电影<精灵宝可梦:大侦探皮卡丘>预告片已经发布了,正片将于今年5月10日上映. 如果要做一个「童年梦想排行榜」的话,相信「拥有一只皮卡丘」这个梦想一定会名列前茅! 毕竟,谁不想揉 ...

  7. python画车辆轨迹图_如何利用 Python 绘制酷炫的 车辆轨迹 — 速度时空图?三维数据用二维图像呈现...

    说明:本文系交通攻城狮原创文章,如需转载请私信联系,侵权必究. 2020,第 30 期,编程笔记 建议直接阅读精编版:如何利用 Python 绘制酷炫的 车辆轨迹 - 速度时空图?三维数据用二维图像呈 ...

  8. 利用python绘制自定义棋盘格

    相机标定需要用到棋盘格,故利用python绘制自定义棋盘格 参考了站内代码,自己进行了修改,可以自定义棋盘格长宽和方块大小,并保存为图片. 安好numpy和opencv 拿来就能用. import n ...

  9. 小伙利用Python绘制999种玫瑰花表白女神,会编程男孩子真好

    前言 Python的应用领域非常的广泛,可以做web开发.爬虫.自动化.数据分析.人工智能 等等,对于绘画,Python也是有一个专门的库:turtle. 利用python绘制一朵玫瑰,快拿去送给你心 ...

  10. 利用Python绘制一个爱心

    利用Python绘制一个爱心 效果图: 代码部分: import turtle #导入turtle库 turtle.pensize(4)#设置画笔像素为4像素 turtle.pencolor(&quo ...

最新文章

  1. requests模块--python发送http请求
  2. ConcurrentHashMap源码解析(2)
  3. shell脚本知识点汇总
  4. java ls_linux ls 命令
  5. android view超出屏幕_Android APP界面保持屏幕常亮方法
  6. flume linux 命令,Linux环境Flume安装配置及使用
  7. 网页数据分页显示php,PHP网页设计例子:用PHP3完成MySQL数据的分页显示
  8. 4月15日见?疑似一加8 Pro真机谍照曝光:开孔双曲面屏加持
  9. Adreno GPU上Android 游戏开发介绍 (3)
  10. gc方法写法_国际上电话的正确写法和拨打方法
  11. python小球弹弹弹_python3.6使用tkinter实现弹跳小球游戏
  12. 科技云报道:科技巨头们为什么要“跨界造芯”?
  13. Keil软件仿真STM32互补输出PWM
  14. 将IP地址转换为整数--将32位的二进制转换为十进制
  15. 高等数学:第五章 定积分(1)概念与性质 中值定理 微积分基本公式
  16. SQL中DDL语句(数据表定义语言)
  17. Web Confidential for mac(密码信息管理软件)
  18. 主链数据动荡;以太坊平均确认时间大幅度降低;BTC活跃地址数连续两周上升 | 数据周榜
  19. 微信html字体颜色代码,微信小程序在text文本实现多种字体样式
  20. 手把手教你玩微信小程序跳一跳

热门文章

  1. 学写网站(二)前端配置之glup
  2. 大数据笔记(三十一)——SparkStreaming详细介绍,开发spark程序
  3. python学习笔记--python简介
  4. PHP学习九--会话控制session和cookie
  5. typedef的一些用途
  6. 正则Regex中圆括号()方括号[]大括号{}的区别和用法
  7. Qt_编辑器配色方案
  8. git 存在多个commit 时将修改,追加到某次commit 上
  9. linux删除蓝色文件夹,linux删除文件报错
  10. linux+mmap父子通信_Linux 系统开发5 进程间通信 pipe() fifo() mmap()