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代码混合编程的方法
May 19 Python
在dataframe两列日期相减并且得到具体的月数实例
Jul 03 Python
浅谈python中get pass用法
Mar 19 Python
使用Python3内置文档高效学习以及官方中文文档
May 19 Python
django-filter和普通查询的例子
Aug 12 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
Window10下python3.7 安装与卸载教程图解
Sep 30 Python
django之从html页面表单获取输入的数据实例
Mar 16 Python
python raise的基本使用
Sep 10 Python
python与c语言的语法有哪些不一样的
Sep 13 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
Jan 07 Python
解决jupyter notebook图片显示模糊和保存清晰图片的操作
Apr 24 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
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
对淘宝URL中ID提取的PHP代码
2013/09/01 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
php的debug相关函数用法示例
2016/07/11 PHP
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
JavaScript输入邮箱自动提示实例代码
2014/01/13 Javascript
js正则表达式中test,exec,match方法的区别说明
2014/01/29 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
2020/08/28 Javascript
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
keras model.fit 解决validation_spilt=num 的问题
2020/06/19 Python
html5指南-4.使用Geolocation实现定位功能
2013/01/07 HTML / CSS
eBay德国站:eBay.de
2017/09/14 全球购物
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
员工培训心得体会
2013/12/30 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
征兵宣传标语
2014/06/20 职场文书
森林防火标语
2014/06/23 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
春节慰问信范文
2015/02/15 职场文书
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL