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学习手册中的python多态示例代码
Jan 21 Python
使用Python编写简单网络爬虫抓取视频下载资源
Nov 04 Python
Python创建xml文件示例
Mar 22 Python
Python实现matplotlib显示中文的方法详解
Feb 06 Python
Python读取csv文件分隔符设置方法
Jan 14 Python
Python函数返回不定数量的值方法
Jan 22 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 Python
使用python获取(宜宾市地震信息)地震信息
Jun 20 Python
pytorch打印网络结构的实例
Aug 19 Python
如何基于Python + requests实现发送HTTP请求
Jan 13 Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 Python
Python pandas对excel的操作实现示例
Jul 21 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实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
php 实现进制相互转换
2016/04/07 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
2020/10/28 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
js实现股票实时刷新数据案例
2017/05/14 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
2017/12/25 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
Python获取邮件地址的方法
2015/07/10 Python
python实现对csv文件的列的内容读取
2018/07/04 Python
python使用Matplotlib画条形图
2020/03/25 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
Python中常用的os操作汇总
2020/11/05 Python
CSS3 please 跨浏览器的CSS3产生器
2010/03/14 HTML / CSS
联想墨西哥官方网站:Lenovo墨西哥
2016/08/17 全球购物
荷兰和比利时时尚鞋店:Van Dalen
2018/04/23 全球购物
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
感恩节红领巾广播稿
2014/02/11 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
参观监狱警示教育心得体会
2016/01/15 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript