Python利用turtle库绘制彩虹代码示例


Posted in Python onDecember 20, 2017

语言:Python
IDE:Python.IDE

需求

做出彩虹效果

颜色空间

RGB模型:光的三原色,共同决定色相
HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相
需要将HSB模型转换为RGB模型

代码示例

#-*- coding:utf-8 ?*-
from turtle import *

def HSB2RGB(hues):
 hues = hues * 3.59 #100转成359范围
 rgb=[0.0,0.0,0.0]
 i = int(hues/60)%6
 f = hues/60 -i
 if i == 0:
  rgb[0] = 1; rgb[1] = f; rgb[2] = 0
 elif i == 1:
  rgb[0] = 1-f; rgb[1] = 1; rgb[2] = 0
 elif i == 2:
  rgb[0] = 0; rgb[1] = 1; rgb[2] = f
 elif i == 3:
  rgb[0] = 0; rgb[1] = 1-f; rgb[2] = 1
 elif i == 4:
  rgb[0] = f; rgb[1] = 0; rgb[2] = 1
 elif i == 5:
  rgb[0] = 1; rgb[1] = 0; rgb[2] = 1-f
 return rgb

def rainbow():
 hues = 0.0
 color(1,0,0)
 #绘制彩虹
 hideturtle()
 speed(100)
 pensize(3)
 penup()
 goto(-400,-300)
 pendown()
 right(110)
 for i in range (100):
  circle(1000)
  right(0.13)
  hues = hues + 1
  rgb = HSB2RGB(hues)
  color(rgb[0],rgb[1],rgb[2]) 
 penup()

def main():
 setup(800, 600, 0, 0)
 bgcolor((0.8, 0.8, 1.0))
 tracer(False)
 rainbow()
 #输出文字
 tracer(False)
 goto(100,-100)
 pendown()
 color("red")
 write("三水点靠木",align="center",
   font=("Script MT Bold", 80, "bold"))
 tracer(True)

 mainloop()

if __name__ == "__main__":
 main()

效果展示:

Python利用turtle库绘制彩虹代码示例

总结

起初在图片上添加中文“三水点靠木”的时候,由于小编使用的是Python2.x,还发生了乱码,解决方法很简单,在代码前面添加一句

#-*- coding:utf-8 ?*-

更详细办法参考:python中文乱码不着急,先看懂字节和字符

以上就是本文关于Python利用turtle库绘制彩虹代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python的SQLAlchemy框架使用入门
Apr 29 Python
Python正规则表达式学习指南
Aug 02 Python
Python实现的多进程和多线程功能示例
May 29 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
Jan 08 Python
Python高级特性与几种函数的讲解
Mar 08 Python
python-pyinstaller、打包后获取路径的实例
Jun 10 Python
python2与python3爬虫中get与post对比解析
Sep 18 Python
基于python修改srt字幕的时间轴
Feb 03 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
Feb 28 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
May 18 Python
python3.7 openpyxl 在excel单元格中写入数据实例
Sep 01 Python
python实现ping命令小程序
Dec 28 Python
浅谈Python中range和xrange的区别
Dec 20 #Python
python机器学习实战之树回归详解
Dec 20 #Python
使用python 和 lint 删除项目无用资源的方法
Dec 20 #Python
python机器学习实战之K均值聚类
Dec 20 #Python
Python绘制3d螺旋曲线图实例代码
Dec 20 #Python
python机器学习实战之最近邻kNN分类器
Dec 20 #Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
Dec 20 #Python
You might like
使PHP自定义函数返回多个值
2006/11/26 PHP
php读取excel文件的简单实例
2013/08/26 PHP
PHP微信开发之二维码生成类
2015/06/26 PHP
php实现CSV文件导入和导出
2015/10/24 PHP
PHP让数组中有相同值的组成新的数组实例
2017/12/31 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
jquery判断页面网址是否有效的两种方法
2016/12/11 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
js处理包含中文的字符串实例
2017/10/11 Javascript
vue数组对象排序的实现代码
2018/06/20 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
微信公众号网页分享功能开发的示例代码
2020/05/27 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
Python中获取对象信息的方法
2015/04/27 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
Django如何实现上传图片功能
2019/08/16 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
英国派对礼服和连衣裙购物网站:TFNC London
2018/07/07 全球购物
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
演讲比赛获奖感言
2014/02/02 职场文书
生产部岗位职责范文
2014/02/07 职场文书
工作检讨书怎么写
2015/01/23 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
浅谈redis整数集为什么不能降级
2021/07/25 Redis
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL
如何在Python中妥善使用进度条详解
2022/04/05 Python
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python