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入门篇之数字
Oct 20 Python
详解Python中的join()函数的用法
Apr 07 Python
Python存取XML的常见方法实例分析
Mar 21 Python
Python编程实现及时获取新邮件的方法示例
Aug 10 Python
Python split() 函数拆分字符串将字符串转化为列的方法
Jul 16 Python
python文档字符串(函数使用说明)使用详解
Jul 30 Python
解决Django layui {{}}冲突的问题
Aug 29 Python
pycharm 中mark directory as exclude的用法详解
Feb 14 Python
Python递归调用实现数字累加的代码
Feb 25 Python
详解python程序中的多任务
Sep 16 Python
python从Oracle读取数据生成图表
Oct 14 Python
python scipy 稀疏矩阵的使用说明
May 26 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经典的给图片加水印程序
2006/12/06 PHP
php 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
php发送post请求函数分享
2014/03/06 PHP
php文件操作相关类实例
2015/06/18 PHP
PHP中异常处理的一些方法整理
2015/07/03 PHP
jQuery 表单验证扩展(三)
2010/10/20 Javascript
使用Post提交时须将空格转换成加号的解释
2013/01/14 Javascript
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
微信小程序商品详情页的底部弹出框效果
2020/11/16 Javascript
vue的token刷新处理的方法
2018/07/17 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
angular2 NgModel模块的具体使用方法
2019/04/10 Javascript
python冒泡排序算法的实现代码
2013/11/21 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
基于Django模板中的数字自增(详解)
2017/09/05 Python
提升Python程序性能的7个习惯
2019/04/14 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
深入浅析css3 中display box使用方法
2015/11/25 HTML / CSS
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
PHP中如何创建和修改数组
2012/05/02 面试题
计算机本科生自荐信
2013/10/15 职场文书
个人简历自我评价八例
2013/10/31 职场文书
实习心得体会
2014/01/02 职场文书
歌唱比赛获奖感言
2014/01/21 职场文书
销售督导岗位职责
2015/04/10 职场文书
Python pandas之求和运算和非空值个数统计
2021/08/07 Python
mybatis-plus模糊查询指定字段
2022/04/28 Java/Android
Nginx配置使用详解
2022/07/07 Servers