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

2.何为七段数码管

数码管是一种价格便宜、使用简单的电子器件,广泛应用于价格较低的电子类产品中,其中,七段数码管最为常用。七段数码管(Seven-segment Indicator)由七段数码管拼接而成,每段有亮或不亮的两种情况,且包括一个小数点的位置。

3.在绘制数码管的显示动态时,可以自定义顺序,如图1.

图1 七段数码管的绘制顺序

4.源代码,包含部分注释

import turtle,datetime#引用

def drawGap():#绘制数码管间隔

turtle.penup()

turtle.fd(5)

def drawLine(draw):#绘制单段数码管

turtle.pendown() if draw else turtle.penup()

turtle.fd(40)

drawGap()

turtle.right(90)

def drawDigit(d):#根据数字绘制七段数码管,True或False决定是否抬起画笔

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,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+1'))#日期的读取方式,便于控制输出的顺序(年,月,日)

turtle.hideturtle()

raw_input('please press enter to close this window.')#解决闪退问题

main()

5.运行结果

python七段数码管绘制英文字母_Python入门基础:七段数码管绘制相关推荐

  1. python七段数码管绘制英文字母_Python实例之七段数码管绘制理解

    Python 实例之七段数码管绘制理解 八段线的编号如上图所示.基本逻辑为画笔从 1 走到 7 ,每一步画笔落下代表画或者是 画笔抬起代表不画,最终形成 1-9 的数字排列.以下理解均为个人学习理解. ...

  2. [Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  3. python中如何判断输入的是英文字母_python如何判断一个字符是否为汉字,英文字母,数字,空还是其他...

    一直在忙工作的事情,对不起大家,今后一定抽出时间来写python,和大家一起学python. 今天给大家一段代码,大家可以看一下哈. # 判断一个字符是否为汉字,英文字母,数字,空还是其他 # 使用U ...

  4. 怎样用python提取英文字母_python如何获取一次获取26个英文字母

    第一种方法,也是最笨的方法,自己输入. 第二种方法,使用string方法 string.ascii_uppercase,26大写英文字母 string.ascii_lowercase,26个小写英文字 ...

  5. python如何生成26个英文字母(包括大小和小写)以及附上英文可见(常用)字符的ASCII码表。

    目的:我们想要利用python生成26个英文字母,然后将其存入列表. 方案: 使用chr函数,将一个整数解释成一个字符,这个整数其实就是这个字符的ASCII码.比如字母a对应的ASCII码就是97,那 ...

  6. [Python] 编码生成26个英文字母

    使用chr函数,将一个整数转成对应的一个字符,这个整数其实就是这个字符的ASCII码 语法格式 chr(i) 参数i可以是十进制或十六进制形式的数字 返回值 返回当前整数数字代表的ASCII字符 # ...

  7. python 判断x是否为英文字母 数字 空格

    x.isalapha(): 表示x是否为英文字母 x.isnumeric(): 表示x是否为数字 x.issapace(): 表示x是否为空格

  8. [转载] 把数据对象转成字符串_python入门基础培训教程,Python 字符串学习

    参考链接: Python字符串| printable python入门基础培训教程中,字符串的学习即基础又非常重要,如果不能掌握好python字符串,对于以后python课程的学习,将会带来严重的错误 ...

  9. python基础教程运行程序_Python入门基础教程:WSGI

    原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...

最新文章

  1. 二、stm32f103+enc28j60
  2. 常用数据验证正则表达式释义(附:正则表达式常用符号)
  3. oracle redo 200mb,Oracle的redo log在各场景下的恢复
  4. 存储技术论坛:最高可用级别的同步复制及方案
  5. http协议-响应和请求
  6. 《机械基础》记忆性内容总结
  7. python十以内加减法_【小学】 生成10以内的加减法
  8. 游戏汉化技术内幕——第3章索引和资源的说明
  9. 企业微信第三方应用Demo源码
  10. 复现 ASPCMS企业建站系统Cookies欺骗漏洞
  11. 简单的介绍一下腾讯的TAPD
  12. 2018网易互娱秋招笔试题
  13. 微信小程序--窗口背景颜色铺满页面
  14. 微信开发者工具配置连接Gitee
  15. java毕业设计旅拍平台源码+lw文档+mybatis+系统+mysql数据库+调试
  16. 地理距离测算(方法免费共享,经纬度、省份、地级市、港口间距离)
  17. 数学定理可以这样证明
  18. 基于oracle的餐馆评价系统,美团大众点评优化评价系统 助力餐饮商家做好口碑营销...
  19. android系统重力感应传感器 方向控制与方向切换,android sensor orientation 方向传感器 重力感应...
  20. 贝叶斯网络的python实现:Monty Hall问题的求解

热门文章

  1. Python脚本之对文件的处理
  2. 交通标志识别 java_交通标志识别项目 putsi/tsaraisa · GitHub
  3. 六、Web服务体系结构
  4. C++ 创建静态链接库和动态链接库
  5. Python用百度AI识别车牌号教程(超详细)
  6. 零基础如何成为一名原画师??看这里
  7. 【电脑端】腾讯视频PC端微信截图扫码失败解决办法
  8. 部署Office Web Apps Server 实现office在线编辑预览,office-online
  9. os.listdir(path)避坑指南
  10. 计算机不能上网 检查路线,电脑上不了网怎么解决?