| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 【Python代码讲解】7段电子管绘制日期2021.12.02 -> 正文阅读 |
|
[Python知识库]【Python代码讲解】7段电子管绘制日期2021.12.02 |
2021.12.02是一个十分特别的日子,因为它不论正着读还是反着读都是20211202,是一个对称的数字,那作为python初学者,有什么办法能够小小的纪念一下这一天呢?那必然是有的。 ?这是一个五彩斑斓的以7段电子管显示的2021.12.02,而且它每次显示时,颜色都会产生变化 ?那这是如何做到的? 首先,我们需要一段7段电子管 首先需要导入所需的函数库,turtle和time是本次所需要的主要函数库,而random函数库负责的是颜色的随机,对本次目标来说是可选可不选的。 ?定义绘制线段部分,其中pencolor负责了画笔的颜色,这里使用了随机函数random来确定每一线段的颜色。 而主体部分的思路则比较简单,首先将电子管的每一根管进行编号,然后确定每一个数字在亮起时会使用哪些电子管,以此为根据使用if语句来决定数字需要哪些电子管,从而达到绘制数字的效果。 需要注意的是,因为在自定义绘制线段代码部分写入了t.fd(80)&t.right(90),即每一笔长80个单位长度且每一笔结束后向右转90°再开始下一笔,而我们的绘制顺序则是这样的 ?所以如果一直右转,不可避免的会出现原地转圈的现象,因此需要在第四段结束后,给它一个t.left(90),向左转90°,抵消掉先前的t.right(90),从而正常的继续下一笔的绘制。 同理,在7段全部绘制完成转向下一个数字时,需要执行t.left(180)以将画笔方向改回朝右,否则数字的顺序则会变成从右向左而不是一般认知里的从左向右,而且如果不执行该命令的话,下一个数字的绘制可能会出现混乱。 t.fd(20)的作用是确定下一个数字的位置,()内数值可任意。 之后是定义绘制日期的所有数字函数: ?接下来是定义主函数 ?在主函数main中,第一行setup定义了画布的大小,第二行pensize确定了画笔的大小,第三第四行penup&fd则确定了开始的位置(penup将笔提起=不作画,fd(-400)将笔往x轴负方向移动400个单位,以此确定开始作画的位置),第五行(time.strftime)则是通过时间函数导入时间,并通过%Y%m%d以达到只取年月日的目的,最后两行hideturtle&done是在结束时隐藏画笔以提升美观度。 至此代码讲解部分基本结束,下面展示完整代码 ? ?整个代码其实是自定义函数和本地函数库的组合运用,而且大量的使用了函数嵌套来实现目标效果。 至此讲解已结束,如有错误请务必指出。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 3:17:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |