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 相关文章推荐
numpy matrix和array的乘和加实例
Jun 28 Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 Python
python pip源配置,pip配置文件存放位置的方法
Jul 12 Python
springboot配置文件抽离 git管理统 配置中心详解
Sep 02 Python
python实现把两个二维array叠加成三维array示例
Nov 29 Python
如何将 awk 脚本移植到 Python
Dec 09 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
Feb 23 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
Jun 05 Python
Python爬虫之Selenium实现窗口截图
Dec 04 Python
python爬取豆瓣电影TOP250数据
May 23 Python
基于Pygame实现简单的贪吃蛇游戏
Dec 06 Python
分享3个非常实用的 Python 模块
Mar 03 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
SMARTY学习手记
2007/01/04 PHP
PHP MemCached 高级缓存应用代码
2010/08/05 PHP
YII2框架中查询生成器Query()的使用方法示例
2020/03/18 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
js 判断checkbox是否选中的操作方法
2012/11/09 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
浅谈Vue的基本应用
2016/12/27 Javascript
深入理解JavaScript中的预解析
2017/01/04 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
vue实现组件之间传值功能示例
2018/07/13 Javascript
基于Bootstrap下拉框插件bootstrap-select使用方法详解
2018/08/07 Javascript
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
2020/06/23 Javascript
详解vue路由
2020/08/05 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
Python多线程爬虫简单示例
2016/03/04 Python
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
python ssh 执行shell命令的示例
2020/09/29 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
地理科学专业毕业生求职信
2013/10/15 职场文书
医学生求职自荐信
2013/10/25 职场文书
元宵节晚会主持人串词
2014/03/25 职场文书
一年级评语大全
2014/04/23 职场文书
地球一小时宣传标语
2014/06/24 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
法人代表证明书范本
2015/06/18 职场文书