用Python绘制七段数码管
来源:互联网 发布:数据互通的手游 编辑:程序博客网 时间:2024/05/23 22:02
题目:
数码管是一种价格便宜、使用简单的发光电子器件,广泛应用在价格较低的电子类产品中,其中,七段数码管最为常用。七段数码管
(seven-segment indicator)由7 段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置,如图1 所示。
图 1:七段数码管的结构图
七段数码管能形成27=128 种不同状态,其中部分状态能够显示易于人们理解的数字或字母含义,因此被广泛使用。图2 给出了十六进制中16 个字符的七段数码管表示。
图 2:十六进制中16 个字符的七段数码管表示
请采用turtle 库并使用函数封装绘制七段数码管,显示当前系统日期和时间。该问题的IPO 描述如下:输入:当前日期的数字形式处理:根据每个数字绘制七段数码管表示输出:绘制当前日期的七段数码管表示程序的预期运行效果如图3 和图4 所示,与两个效果中任何一个相似均可。
源码:
'''Created on Dec 5, 2017@author: QiZhao'''import turtle,datetime def drawGap():#画数码管间隔 turtle.penup() turtle.fd(5) def drawline(flag):#画单条数码管 drawGap() turtle.pendown() if(flag==False): turtle.penup() turtle.fd(40) drawGap() turtle.right(90) def drawdight(dight):#根据数字绘制对应数字的数码管 if dight in [2,3,4,5,6,8,9]: drawline(True) else: drawline(False) if dight in [0,1,3,4,5,6,7,8,9]: drawline(True) else: drawline(False) if dight in [0,2,3,5,6,8]: drawline(True) else: drawline(False) if dight in [0,2,6,8]: drawline(True) else: drawline(False) turtle.left(90) if dight in [0,4,5,6,8,9]: drawline(True) else: drawline(False) if dight in [0,2,3,5,6,7,8,9]: drawline(True) else: drawline(False) if dight in [0,1,2,3,4,7,8,9]: drawline(True) else: drawline(False) turtle.setheading(0) turtle.fd(25)def drawdata(data):#根据日期画出对应数字 turtle.color("red") for i in data: if i=='+': turtle.write('年',font=("宋体", 24, "normal")) turtle.color("green") turtle.fd(30) elif i=='-': turtle.write('月',font=("宋体", 24, "normal")) turtle.color("blue") turtle.fd(30) elif i=='*': turtle.write('日',font=("宋体", 24, "normal")) else: drawdight(eval(i)) def main(): turtle.setup(800,500) turtle.penup() turtle.fd(-350) turtle.pendown() turtle.hideturtle() turtle.pensize(6) turtle.speed(9) drawdata(datetime.datetime.now().strftime('%Y+%m-%d*')) a=input()main()
效果图:
阅读全文
0 0
- 用Python绘制七段数码管
- 用Python绘制七段数码管
- Python 七段数码管绘制
- 七段数码管
- 七段数码管显示
- 七段数码管显示
- 模拟七段数码管输出
- 七段数码管的研究
- python七彩数码管绘制
- 七段数码管显示控制 (4个数码管)
- BCD-七段数码管显示译码器
- PIC单片机-七段数码管的使用
- 七段数码管显示控件的制作与应用
- LED和七段数码管限流电阻的大小计算
- Verilog HDL 之 七段数码管扫描显示
- 数字万用表(七段数码管)的图像识别(opencv实现)
- 共阳极数码管七段码表(详实)
- 汇编语言编程实例---串行控制七段数码管
- SpringMVC自定义参数返回处理器
- caffe中常见层的用法以及参数
- VHDL
- 自己动手实现一个简单的 IOC
- 阿里巴巴json操作,留着查询
- 用Python绘制七段数码管
- 测试中遇到不可重现的错误,如何解决?
- ansible的playbook模式应用
- yFiles for.net 常见问题
- 【1701H1】【穆晨】【171205】连续第五十六天总结
- 目标检测之三 Win10 +VS2015+双gtx Titan X使用YOLO v2训练VOC数据
- JS实现广度优先搜索得到两点间最短路径
- 219. Contains Duplicate II 包含重复元素2
- 统计数据库中某一天的最高记录