七段数码管绘制
时间:2019-10-28
本文章向大家介绍七段数码管绘制,主要包括七段数码管绘制使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
步骤:
1.观察数字0-9,找出规律。如图:
1-1.顺序: g-c-d-e-f-a-b (从g开始向右画线段,转弯,画线,转弯,画线,转弯,这样画数字比较有规律,不会走重复路线,也方面使用for 循环)
以‘2’为例,第一笔为g,相同规律的还有3,4,5,6,8,9,把这些数字建成列表。
以此类推:第二笔为c:0, 1, 3, 4, 5, 6, 7, 8, 9
第三笔为d:0, 2, 3, 5, 6, 8, 9
......
2.导入turtle,time库
3.开始画图
4.关键:4-1.画出一个数字
4-2.画出2019,10, 28 一串数字
4-3.画出年,月,日 并格式化
import turtle #导入海龟库 import time #导入时间库 t = turtle.Pen() #生成画笔 t.shape("turtle") #画笔形状 t.speed(0) #画笔速度 def drawGap(): #定义画笔空隙 t.up() t.fd(5) t.down() def drawline(flag): #定义画笔,if成立开始画线,不成立则拿起画笔走“虚线” if flag: #(不管条件成不成立,画笔都要往前走并向右转90度) t.down() else: t.up() t.fd(40) t.right(90) def drawdigit(num): #开始画数字,如果在数字列表里,走画出相应的线段 drawline(True) if num in [2, 3, 4, 5, 6, 8, 9] else drawline(False) drawline(True) if num in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawline(False) drawline(True) if num in [0, 2, 3, 5, 6, 8, 9] else drawline(False) drawline(True) if num in [0, 2, 6, 8] else drawline(False) t.left(90) drawline(True) if num in [0, 4, 5, 6, 8, 9] else drawline(False) drawline(True) if num in [0, 2, 3, 5, 6, 7, 8, 9] else drawline(False) drawline(True) if num in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] else drawline(False) t.up() #拿起笔,向左转180,再向前走20,为画下一个数字准备 t.left(180) t.fd(20) # if num in [2, 3, 4, 5, 6, 8, 9]: # t.down() # t.fd(40) # t.right(90) # if num in [0, 1, 3, 4, 5, 6, 7, 8, 9]: # t.fd(40) # t.right(90) # if num in [0, 2, 3, 5, 6, 8, 9]: # t.fd(40) # t.right(90) # drawdigit(2) def get_data(data): #定义得到数据,并时间格式改为2019年10月28日 for i in data: if i == '/': t.write('年', font=("Arial", 20, "normal")) t.pencolor('green') elif i == '-': t.write('月', font=("Arial", 20, "normal")) t.pencolor('blue') t.up() t.fd(40) t.down() elif i == '+': t.write("日", font=("Arial", 20, "normal")) t.up() t.goto(-200, 100) t.down() t.write("Happy Day ", font=("Arial", 40, "normal")) else: drawdigit(eval(i)) def main(): #定义一个主流程 t.up() t.backward(300) t.down() t.pencolor("red") t.pensize(5) get_data(time.strftime('%Y/%m-%d+', time.gmtime())) t.hideturtle() main() turtle.done()
原文地址:https://www.cnblogs.com/Cheryl-D/p/11755590.html
- 前端翻译:Activating Browser Modes with Doctype
- JS魔法堂:doctype我们应该了解的基础知识
- CentOS6.5菜鸟之旅:安装Realtek无线网卡驱动
- CentOS6.5菜鸟之旅:U盘安装CentOS64位
- 人工智能创造新型态工作 制造业受冲击
- ASP.NET Core File Providers
- JS魔法堂之实战:纯前端的图片预览
- 域名publica.com近50万交易 买家身份浮出水面
- Vim杂记:Sublime的配色方案
- Vim杂记:markdown插件
- 【手把手教你全文检索】Apache Lucene初探
- 微信小程序的“小游戏” 是什么?
- CentOS6.5菜鸟之旅:中文编辑器忍痛放弃Sublime
- JS魔法堂:Data URI Scheme介绍
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CycleGan人脸转为漫画脸,牛掰的知识又增加了!| 附代码
- 浙大版《C语言程序设计(第3版)》题目集 练习7-4 找出不是两个数组共有的元素
- 浙大版《C语言程序设计(第3版)》题目集 练习7-7 矩阵运算
- 系统之眼!Linux系统性能监控工具Glances
- 浙大版《C语言程序设计(第3版)》题目集 练习7-8 方阵循环右移
- 浙大版《C语言程序设计(第3版)》题目集 练习7-9 计算天数
- 浙大版《C语言程序设计(第3版)》题目集 练习7-10 查找指定字符
- 浙大版《C语言程序设计(第3版)》题目集 练习7-11 字符串逆序
- 浙大版《C语言程序设计(第3版)》题目集 习题7-1 选择法排序
- 浙大版《C语言程序设计(第3版)》题目集 习题7-2 求一批整数中出现最多的个位数字
- 浙大版《C语言程序设计(第3版)》题目集 习题7-3 判断上三角矩阵
- 浙大版《C语言程序设计(第3版)》题目集 习题7-4 求矩阵各行元素之和
- 浙大版《C语言程序设计(第3版)》题目集 习题7-6 统计大写辅音字母
- 浙大版《C语言程序设计(第3版)》题目集 习题7-7 字符串替换
- 浙大版《C语言程序设计(第3版)》题目集 习题8-10 输出学生成绩