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使用beautifulsoup从爱奇艺网抓取视频播放
Jan 23 Python
Python操作sqlite3快速、安全插入数据(防注入)的实例
Apr 26 Python
python 安装virtualenv和virtualenvwrapper的方法
Jan 13 Python
python3 遍历删除特定后缀名文件的方法
Apr 23 Python
Python使用Pandas读写Excel实例解析
Nov 19 Python
使用pyqt5 tablewidget 单元格设置正则表达式
Dec 13 Python
tensorflow保持每次训练结果一致的简单实现
Feb 17 Python
在django中使用post方法时,需要增加csrftoken的例子
Mar 13 Python
详解PyQt5信号与槽的几种高级玩法
Mar 24 Python
使用python从三个角度解决josephus问题的方法
Mar 27 Python
Python如何读写CSV文件
Aug 13 Python
Python中常用的os操作汇总
Nov 05 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的FTP学习(二)
2006/10/09 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
2010/06/28 Javascript
IE图片缓存document.execCommand("BackgroundImageCache",false,true)
2011/03/01 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
Bootstrap表单简单实现代码
2017/03/06 Javascript
Node.js中的require.resolve方法使用简介
2017/04/23 Javascript
JavaScript实现预览本地上传图片功能完整示例
2019/03/08 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
详解使用python的logging模块在stdout输出的两种方法
2017/05/17 Python
python中的随机函数小结
2018/01/27 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
numpy给array增加维度np.newaxis的实例
2018/11/01 Python
python组合无重复三位数的实例
2018/11/13 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
成教毕业生自我鉴定
2013/10/23 职场文书
机关门卫制度
2014/02/01 职场文书
机关办公室岗位职责
2014/04/16 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
工作检讨书怎么写
2014/10/10 职场文书
自查自纠整改报告
2014/11/06 职场文书
导游词之云南丽江古城
2019/09/17 职场文书