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 相关文章推荐
PHP webshell检查工具 python实现代码
Sep 15 Python
Python中的__SLOTS__属性使用示例
Feb 18 Python
在Python中操作列表之List.pop()方法的使用
May 21 Python
Python数据类型详解(四)字典:dict
May 12 Python
基于Python对象引用、可变性和垃圾回收详解
Aug 21 Python
Python查看微信撤回消息代码
Jun 07 Python
解决pycharm回车之后不能换行或不能缩进的问题
Jan 16 Python
python dict 相同key 合并value的实例
Jan 21 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
May 09 Python
python时间time模块处理大全
Oct 25 Python
python 读取串口数据的示例
Nov 09 Python
Python多线程实用方法以及共享变量资源竞争问题
Apr 12 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安全配置方法
2007/06/16 PHP
php实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
在PHP上显示JFreechart画的统计图方法
2013/11/03 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
JavaScript window.setTimeout() 的详细用法
2009/11/04 Javascript
jquery对表单操作2
2011/04/06 Javascript
JS字符串函数扩展代码
2011/09/13 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
2017/02/20 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
layui.js实现的表单验证功能示例
2017/11/15 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
微信小程序实现加入购物车滑动轨迹
2020/11/18 Javascript
详解实现vue的数据响应式原理
2021/01/20 Vue.js
python实现简单淘宝秒杀功能
2018/05/03 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
实例详解Python模块decimal
2019/06/26 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
HTML5 预加载让页面得以快速呈现
2013/08/13 HTML / CSS
html5录音功能实战示例
2019/03/25 HTML / CSS
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
大学生创业策划书
2014/02/02 职场文书
运动会闭幕式解说词
2014/02/21 职场文书
简短的人生哲理(38句)
2019/08/13 职场文书
Moment的feature导致线上bug解决分析
2022/09/23 Javascript