Python设计七段数码管绘制

单个数码管效果:

设计总数码管效果:

Pyhton 编程:

#七段数码管绘制
import turtle as t
import time as T
def drawGap(): #绘制数码管的间隔
t.penup()
t.fd(5)
def drawLine(draw): #绘制单段数码管,draw为True时,则实画
drawGap();
t.pendown() if draw else t.penup()
t.fd(40)
drawGap();
t.right(90)
def drawDigit(digit): #根据数字绘制七段数码管:如下七段: 1,2,3,4,5,6,7
drawLine(True) if digit not in [0,1,7] else drawLine(False) #
drawLine(True) if digit not in [2 ] else drawLine(False) #
drawLine(True) if digit not in [1,4,7] else drawLine(False) #
drawLine(True) if digit not in [1,3,4,5,7,9] else drawLine(False) #
t.left(90)
drawLine(True) if digit not in [1,2,3,7] else drawLine(False) #
drawLine(True) if digit not in [4,1] else drawLine(False) #
drawLine(True) if digit not in [5,6] else drawLine(False) #
t.left(180);t.penup();
t.fd(10) #换个位置输出下一个字符,间隔
def drawDate(s):
t.pencolor('red')
for i in s:
if i=='-':
t.write('年',font=('Arial',18,'normal'))
t.pencolor('green')
t.fd(30)
elif i=='=':
t.write('月',font=('Arial',18,'normal'))
t.pencolor('blue')
t.fd(30)
elif i=='+':
t.write('日', font=('Arial', 18, 'normal'))
t.fd(30)
else:
drawDigit(eval(i)) #通过eval()把字符转换成单个数字
def main():
t.setup(800,400)
t.penup()
t.fd(-300) #将起点挪到画布的左边
t.pensize(6)
drawDate(T.strftime('%Y-%m=%d+',T.gmtime()))
# drawDate('0123456789')
t.hideturtle() #隐藏画笔的形状
t.done()
main()

1、先测试各位数字是否正常显示:

  在main()中设置下列代码:

#   drawDate(T.strftime('%Y-%m=%d+',T.gmtime()))
drawDate('0123456789')

显示结果:

说明没有问题!

2、具体在main()中再略加修改:

 drawDate(T.strftime('%Y-%m=%d+',T.gmtime()))
#drawDate('0123456789')

显示结果:

  

#Python语言程序设计Demo - 七段数码管绘制的更多相关文章

  1. Python入门基础:七段数码管绘制

    1.在学习Python的过程中,运用所学的一些基础知识,进行一些简单的编程,可以收获很多乐趣.在生活中,LED灯无处不在,荧幕显示的广告词,给我们呈现出动态的视觉效果.下面,则以最简单的显示日期为例, ...

  2. Python语言程序设计(3)--实例2-python蟒蛇绘制-turtle库

    1. 2. 3.了解turtle库 Turtle,也叫海龟渲染器,使用Turtle库画图也叫海龟作图.Turtle库是Python语言中一个很流行的绘制图像的函数库.海龟渲染器,和各种三维软件都有着良 ...

  3. 使用Python的turtle库实现七段数码管绘制

    七段数码管绘制:七段数码管是由7段数码管拼接而成,每段有亮或不亮两种情况,改进的七段数码管还包括一个小数点位置.七段数码管能形成2=128种状态,其中部分状态能够显示易于人们理解的数字或字母含义.因此 ...

  4. 【学习笔记】PYTHON语言程序设计(北理工 嵩天)

    1 Python基本语法元素 1.1 程序设计基本方法 计算机发展历史上最重要的预测法则     摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍 cpu/gpu.内存.硬盘.电子产品价格等都遵 ...

  5. Python语言程序设计之二--用turtle库画围棋棋盘和正、余弦函数图形

    这篇笔记依然是在做<Python语言程序设计>第5章循环的习题.其中有两类问题需要记录下来. 第一是如何画围棋棋盘.围棋棋盘共有19纵19横.其中,位于(0,0)的星位叫天元,其余8个星位 ...

  6. 基于turtle库的七段数码管绘制

    ·文章结构 >样例及概览 >函数框架分析 >功能发展·样例及概览 七段数码管,是信号灯.电子表等很多设备的显示形式.而利用python的turtle库,我们也可以模拟着写出一个动态生 ...

  7. 【任务】Python语言程序设计.MOOC学习

    [博客导航] [Python导航] 任务 18年11月29日开始,通过9周时间跨度,投入约50小时时间,在19年1月25日之前,完成中国大学MOOC平台上的<Python语言程序设计>课程 ...

  8. 全国计算机等级考试二级Python语言程序设计考试大纲

    全国计算机等级考试二级Python语言程序设计考试大纲(2018年版) 基本要求 掌握Python语言的基本语法规则. 掌握不少于2个基本的Python标准库. 掌握不少于2个Python第三方库,掌 ...

  9. Python语言程序设计之一--for循环中累加变量是否要清零

    最近学到了Pyhton中循环这一章.之前也断断续续学过,但都只是到了函数这一章就停下来了,写过的代码虽然保存了下来,但是当时的思路和总结都没有记录下来,很可惜.这次我开通了博客,就是要把这些珍贵的学习 ...

随机推荐

  1. redis key 空闲(一)

    语法: redis 127.0.0.1:6379> COMMAND KEY_NAME 实例: redis 127.0.0.1:6379[1]> select 2 OK redis 127. ...

  2. 离线安装docker,并导入docker镜像

    将docker离线安装包导入到系统中,解压并进入文件夹,使用下述命令进行安装: rpm -ivh *.rpm --nodeps --force 安装完成功使用,docker info 查看docker ...

  3. win10系统不能ping通vmware虚假机解决办法

    在使用vmware安装虚拟机后,在虚拟机里面可以上网,但就是不能在宿主机通过远程连接工具连接 同时也不能ping通虚拟机 检查网络配置 查看网关 在宿主机打开 ip地址填写刚刚查看的网关,同时把子网掩 ...

  4. [转帖]PG语法解剖--基本sql语句用法入门

    PG语法解剖--基本sql语句用法入门 https://www.toutiao.com/i6710897833953722894/ COPY 命令挺好的 需要学习一下. 原创 波波说运维 2019-0 ...

  5. 【转载】spring mvc 后端获得前端传递过来的参数的方法

    1.通过HttpServletRequest 获得 HttpServletRequest.getParameter(参数名),可以获得form表单中传递的参数,或ajax或url中传递过来的参数,如果 ...

  6. idea2019开发第一个java程序HelloWorld

    用idea2019开发第一个java程序: (idea破解不在本讲义范围之内) 新手建议忽略此部分,先把eclipse用熟.技术是一样的.idea缺省配置是黑色的,很晃眼,可以(Files/setti ...

  7. 图像人脸检测+人眼检测 (opencv + c++)

    摘要:实现图像中人脸检测,和人眼定位.输出检测标记图像和定位坐标. 工具:vs2015 opencv3  C++ 资源:haarcascade_frontalface_alt2.xml;haarcas ...

  8. MySQL 触发器的使用

    MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...

  9. 【SQL Server性能优化】删除大量数据的方法比较

    原文:[SQL Server性能优化]删除大量数据的方法比较 如果你要删除表中的大量数据,这个大量一般是指删除大于10%的记录,那么如何删除,效率才会比较高呢? 而如何删除才会对系统的影响相对较小呢? ...

  10. Asp.Net Mvc项目添加WebApi

    1.添加一个WebApi 空项目 2.删除WebApi项目下的 Global.asax 文件,因为我们要把WebApi项目整合到Mvc项目中去,全局只需要一个Global 3.修改 WebApi 项目 ...