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正则表达式修复网站文章字体不统一的解决方法
Feb 21 Python
Python中在for循环中嵌套使用if和else语句的技巧
Jun 20 Python
Django开发中复选框用法示例
Mar 20 Python
通过shell+python实现企业微信预警
Mar 07 Python
pycharm配置git(图文教程)
Aug 16 Python
解决Python对齐文本字符串问题
Aug 28 Python
python tkinter基本属性详解
Sep 16 Python
Python算法的时间复杂度和空间复杂度(实例解析)
Nov 19 Python
python函数调用,循环,列表复制实例
May 03 Python
python opencv实现简易画图板
Aug 27 Python
python 将html转换为pdf的几种方法
Dec 29 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
Apr 13 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
我的论坛源代码(十)
2006/10/09 PHP
PHP 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
2019/10/16 PHP
jQuery 操作XML入门
2008/12/25 Javascript
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
js如何获取兄弟、父类等节点
2014/01/06 Javascript
js实现网页收藏功能
2015/12/17 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
vue 父组件调用子组件方法及事件
2018/03/29 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
JavaScript数组去重的几种方法
2019/04/07 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
python+selenium实现京东自动登录及秒杀功能
2017/11/18 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
详解python中的hashlib模块的使用
2019/04/22 Python
Python3搭建http服务器的实现代码
2020/02/11 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
上课迟到检讨书100字
2014/01/11 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
健康家庭事迹材料
2014/05/02 职场文书
2014年司机工作总结
2014/11/21 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
60条职场经典语录,总有一条能触动你的心
2019/08/21 职场文书
关于python中readlines函数的参数hint的相关知识总结
2021/06/24 Python