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获取apk文件URL地址实例
Nov 01 Python
Python文件和流(实例讲解)
Sep 12 Python
Python实现mysql数据库更新表数据接口的功能
Nov 19 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
May 04 Python
Python之文字转图片方法
May 10 Python
一条命令解决mac版本python IDLE不能输入中文问题
May 15 Python
Python定义一个跨越多行的字符串的多种方法小结
Jul 19 Python
使用Python获取网段IP个数以及地址清单的方法
Nov 01 Python
详解Python绘图Turtle库
Oct 12 Python
python的range和linspace使用详解
Nov 27 Python
flask框架配置mysql数据库操作详解
Nov 29 Python
Python计算机视觉里的IOU计算实例
Jan 17 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 file_get_contents函数轻松采集html数据
2010/04/22 PHP
PHP扩展程序实现守护进程
2015/04/16 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
2017/11/08 PHP
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
vue数据控制视图源码解析
2018/03/28 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
用npm-run实现自动化任务的方法示例
2019/01/14 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
python ElementTree 基本读操作示例
2009/04/09 Python
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
Django REST framework视图的用法
2019/01/16 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
异常和异常类的概念
2014/09/12 面试题
中学生打架检讨书
2014/02/10 职场文书
幼儿评语大全
2014/04/30 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
预备党员群众路线思想汇报2014
2014/10/25 职场文书
2014年社区工作总结
2014/11/18 职场文书
小班教师个人总结
2015/02/05 职场文书
2015年资料员工作总结
2015/04/25 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
MySQL kill不掉线程的原因
2021/05/07 MySQL
OpenStack虚拟机快照和增量备份实现方法
2022/04/04 Servers