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中用altzone()方法处理时区的教程
May 22 Python
python检测是文件还是目录的方法
Jul 03 Python
Python编程实现二分法和牛顿迭代法求平方根代码
Dec 04 Python
pandas对指定列进行填充的方法
Apr 11 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
Jan 05 Python
Python3 串口接收与发送16进制数据包的实例
Jun 12 Python
django将数组传递给前台模板的方法
Aug 06 Python
Python基于traceback模块获取异常信息
Jul 23 Python
pytorch 实现在测试的时候启用dropout
May 27 Python
新手必备Python开发环境搭建教程
May 28 Python
python中的plt.cm.Paired用法说明
May 31 Python
Pygame如何使用精灵和碰撞检测
Nov 17 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/10/09 PHP
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
PHP中抽象类、接口的区别与选择分析
2016/03/29 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
基于BootStrap环境写jQuery tabs插件
2016/07/12 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
js编写简易的计算器
2020/07/29 Javascript
python解决字典中的值是列表问题的方法
2013/03/04 Python
python利用hook技术破解https的实例代码
2013/03/25 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
Python 从相对路径下import的方法
2018/12/04 Python
python paramiko远程服务器终端操作过程解析
2019/12/14 Python
基于python生成英文版词云图代码实例
2020/05/16 Python
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
写一个方法1000的阶乘
2012/11/21 面试题
创意活动策划书
2014/01/15 职场文书
办理护照介绍信
2014/01/16 职场文书
校园公益广告语
2014/03/13 职场文书
小学课外阅读总结
2014/07/09 职场文书
教师查摆问题自查报告
2014/10/11 职场文书
写给领导的感谢信
2015/01/22 职场文书
2015年教学管理工作总结
2015/05/20 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书
Go语言设计模式之结构型模式
2021/06/22 Golang
UNION CREATIVE《Re:从零开始的异世界生活》雷姆手办
2022/03/20 日漫