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 相关文章推荐
centos系统升级python 2.7.3
Jul 03 Python
Python中的with语句与上下文管理器学习总结
Jun 28 Python
关于Python 3中print函数的换行详解
Aug 08 Python
python 接口_从协议到抽象基类详解
Aug 24 Python
使用Python抓取豆瓣影评数据的方法
Oct 17 Python
Python清空文件并替换内容的实例
Oct 22 Python
flask框架单元测试原理与用法实例分析
Jul 23 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
Feb 29 Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 Python
python 常用的异步框架汇总整理
Jun 18 Python
Python爬虫框架之Scrapy中Spider的用法
Jun 28 Python
Python作用域和名称空间的详细介绍
Apr 13 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
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
JavaScript内核之基本概念
2011/10/21 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
2015/06/01 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
微信小程序自动客服功能
2017/11/02 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
python使用xlrd模块读取xlsx文件中的ip方法
2019/01/11 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
StubHub意大利:购买和出售全球演唱会和体育赛事门票
2017/11/21 全球购物
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
法学毕业生自荐信
2013/11/13 职场文书
单位绩效考核方案
2014/05/11 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
施工安全生产承诺书
2014/05/23 职场文书
和谐社区口号
2014/06/19 职场文书
股东出资证明书(正规版)
2014/09/24 职场文书
2014年店长工作总结
2014/11/17 职场文书
导游词之台湾阿里山
2019/10/23 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python
Python将CSV文件转化为HTML文件的操作方法
2021/06/30 Python
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers
Python中time与datetime模块使用方法详解
2022/03/31 Python