Python绘制七段数码管实例代码


Posted in Python onDecember 20, 2017

七段数码管(seven-segmentindicator)由7段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置

绘制模式:

input:输入当前日期的数字形式

process:根据每个数字绘制七段数码管表示

output:绘制当前日期的七段数码管表示

Python绘制七段数码管实例代码

示例一:

#DrawSevenSegDisplay.py 
import turtle, datetime 
def drawLine(draw):  #绘制单段数码管 
  turtle.pendown() if draw else turtle.penup() 
  turtle.fd(40) 
  turtle.right(90) 
def drawDigit(digit): #根据数字绘制七段数码管 
  drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False) 
  drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False) 
  drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False) 
  drawLine(True) if digit in [0,2,6,8] else drawLine(False) 
  turtle.left(90) 
  drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False) 
  drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False) 
  drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False) 
  turtle.left(180) 
  turtle.penup() 
  turtle.fd(20) 
def drawDate(date): #获得要输出的数字 
  for i in date: 
    drawDigit(eval(i)) #注意: 通过eval()函数将数字变为整数 
def main(): 
  turtle.setup(800, 350, 200, 200) 
  turtle.penup() 
  turtle.fd(-300) 
  turtle.pensize(5) 
  drawDate(datetime.datetime.now().strftime('%Y%m%d')) 
turtle.hideturtle()
main()

效果展示:

Python绘制七段数码管实例代码

示例二:

#DrawSevenSegDisplay.py 
import turtle, datetime 
def drawGap(): #绘制数码管间隔 
  turtle.penup() 
  turtle.fd(5) 
def drawLine(draw):  #绘制单段数码管 
  drawGap() 
  turtle.pendown() if draw else turtle.penup() 
  turtle.fd(40) 
  drawGap() 
  turtle.right(90) 
def drawDigit(d): #根据数字绘制七段数码管 
  drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False) 
  drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False) 
  drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False) 
  drawLine(True) if d in [0,2,6,8] else drawLine(False) 
  turtle.left(90) 
  drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False) 
  drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False) 
  drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False) 
  turtle.left(180) 
  turtle.penup() 
  turtle.fd(20) 
def drawDate(date): 
  turtle.pencolor("red") 
  for i in date: 
    if i == '-': 
      turtle.write('年',font=("Arial", 18, "normal")) 
      turtle.pencolor("green") 
      turtle.fd(40) 
    elif i == '=': 
      turtle.write('月',font=("Arial", 18, "normal")) 
      turtle.pencolor("blue") 
      turtle.fd(40) 
    elif i == '+': 
      turtle.write('日',font=("Arial", 18, "normal")) 
    else: 
      drawDigit(eval(i)) 
def main(): 
  turtle.setup(800, 350, 200, 200) 
  turtle.penup() 
  turtle.fd(-350) 
  turtle.pensize(5) 
  drawDate(datetime.datetime.now().strftime('%Y-%m=%d+')) 
  turtle.hideturtle() 
main()

效果展示:

Python绘制七段数码管实例代码

总结

以上就是本文关于Python绘制七段数码管实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python中使用PIL库实现图片高斯模糊实例
Feb 08 Python
Python中的数据对象持久化存储模块pickle的使用示例
Mar 03 Python
python django 访问静态文件出现404或500错误
Jan 20 Python
pycharm中连接mysql数据库的步骤详解
May 02 Python
python用户管理系统
Mar 13 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 27 Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 Python
Python3将数据保存为txt文件的方法
Sep 12 Python
pandas中遍历dataframe的每一个元素的实现
Oct 23 Python
Django连接数据库并实现读写分离过程解析
Nov 13 Python
用python实现学生管理系统
Jul 24 Python
Python爬虫进阶之爬取某视频并下载的实现
Dec 08 Python
python代码实现ID3决策树算法
Dec 20 #Python
python决策树之CART分类回归树详解
Dec 20 #Python
python中文乱码不着急,先看懂字节和字符
Dec 20 #Python
python决策树之C4.5算法详解
Dec 20 #Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
Dec 20 #Python
python实现ID3决策树算法
Dec 20 #Python
理解python中生成器用法
Dec 20 #Python
You might like
php实现数据库的增删改查
2017/02/26 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
PHP中phar包的使用教程
2017/06/14 PHP
extjs fckeditor集成代码
2009/05/10 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
浏览器复制插件zeroclipboard使用指南
2016/03/26 Javascript
JS实现鼠标框选效果完整实例
2016/06/20 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
2016/12/14 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
新手简单了解vue
2019/05/29 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
列举Python中吸引人的一些特性
2015/04/09 Python
python Django批量导入数据
2016/03/25 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
在django中,关于session的通用设置方法
2019/08/06 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
kafka-python 获取topic lag值方式
2019/12/23 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
Python numpy大矩阵运算内存不足如何解决
2020/11/19 Python
李宁官方网店:中国运动品牌
2017/11/02 全球购物
公司建议书怎么写
2014/05/15 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
数学教研活动总结
2014/07/02 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
庆祝教师节新闻稿
2015/07/17 职场文书
Java spring单点登录系统
2021/09/04 Java/Android