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开启多个子进程并行运行的方法
Apr 18 Python
python爬虫的工作原理
Mar 05 Python
wxPython实现窗口用图片做背景
Apr 25 Python
对python的输出和输出格式详解
Dec 08 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
Apr 22 Python
Python实现读取并写入Excel文件过程解析
May 27 Python
python能自学吗
Jun 18 Python
Keras: model实现固定部分layer,训练部分layer操作
Jun 28 Python
python中random.randint和random.randrange的区别详解
Sep 20 Python
5 分钟读懂Python 中的 Hook 钩子函数
Dec 09 Python
用Python提取PDF表格的方法
Apr 11 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生成EXCEL的东东
2006/10/09 PHP
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
PHP 面向对象 PHP5 中的常量
2010/05/05 PHP
PHP设计模式之解释器模式的深入解析
2013/06/13 PHP
JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
2010/11/16 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
使用jQuery.form.js/springmvc框架实现文件上传功能
2016/05/12 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
在Python中使用dict和set方法的教程
2015/04/27 Python
python 容器总结整理
2017/04/04 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
python构造IP报文实例
2020/05/05 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
致短跑运动员广播稿
2014/01/09 职场文书
求职教师自荐书
2014/06/19 职场文书
农行心得体会
2014/09/02 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
商务宴会祝酒词
2015/08/11 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
一起来看看Vue的核心原理剖析
2022/03/24 Vue.js
python如何读取和存储dict()与.json格式文件
2022/06/25 Python