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中矩阵库Numpy基本操作详解
Nov 21 Python
Python基于win32ui模块创建弹出式菜单示例
May 09 Python
Python爬虫框架Scrapy常用命令总结
Jul 26 Python
python 找出list中最大或者最小几个数的索引方法
Oct 30 Python
Python动态语言与鸭子类型详解
Jul 01 Python
使用python实现kNN分类算法
Oct 16 Python
django实现支付宝支付实例讲解
Oct 17 Python
Python综合应用名片管理系统案例详解
Jan 03 Python
python设置环境变量的作用整理
Feb 17 Python
解决python 执行sql语句时所传参数含有单引号的问题
Jun 06 Python
Python如何向SQLServer存储二进制图片
Jun 08 Python
python用700行代码实现http客户端
Jan 14 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
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
PHP中最容易忘记的一些知识点总结
2013/04/28 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
详解PHP数组赋值方法
2015/11/07 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
php数组遍历类与用法示例
2019/05/24 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
JavaScript伪数组用法实例分析
2017/12/22 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
webpack多入口多出口的实现方法
2018/08/17 Javascript
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
express框架下使用session的方法
2019/07/31 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
Python中optparser库用法实例详解
2018/01/26 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
对python制作自己的数据集实例讲解
2018/12/12 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
python实现代码审查自动回复消息
2021/02/01 Python
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
Deux par Deux官方网站:设计师童装
2020/01/03 全球购物
行政管理毕业生自荐信
2014/02/24 职场文书
品牌宣传方案
2014/03/21 职场文书
访谈节目策划方案
2014/05/15 职场文书
奉献演讲稿范文
2014/05/21 职场文书
党员批评与自我批评材料
2014/10/14 职场文书
导师对论文的学术评语
2015/01/04 职场文书
保安辞职信范文
2015/02/28 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
django中websocket的具体使用
2022/01/22 Python