七段数码管绘制

常见的电子屏长产生的0-9的数字,可以通过控制画笔来实现电子数码管

这个过程需要turtle 进行作图

另外需要考虑的是这些数字他们需要这七条线段何时出现

import turtle as tl
import time
t=time.gmtime()
td=time.strftime("%Y-%m=%d+",t)
##获取当前系统时间,年月日
def drawLine(draw):tl.pendown() if draw else tl.penup()tl.fd(40)tl.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,7,6,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)tl.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)tl.left(180)tl.penup()tl.fd(20)def drawDate(date):tl.pencolor("red")for i in date:if i =="-":tl.write("年",font=("Arial",18,"normal"))tl.pencolor("green")tl.fd(40)elif i =="=":tl.write("月",font=("Arial",18,"normal"))tl.pencolor("blue")tl.fd(40)elif i =="+":tl.write("日",font=("Arial",18,"normal"))tl.pencolor("yellow")tl.fd(40)else:drawDigit(eval(i))def main():tl.setup(800,350,300,300)tl.penup()tl.fd(-300)tl.pensize(5)drawDate(td)tl.hideturtle()tl.down()
main()

绘制七段数码管的模块思维

- 确定模块化思维:  确定模块接口,封装功能

- 规则化思维: 抽象过程为规则,计算机自动执行

- 化繁为简: 将大功能变为小功能组合,分而治之

关于数码管问题的扩展

- 绘制带小数点的七段数码管

- 带刷新的时间倒计时效果的数码管

- 高级多段的数码管

Python 语言程序设计(5-2)七段数码管程序编写设计相关推荐

  1. python语言程序设计嵩天-Python语言程序设计基础(第2版)嵩天课后答案

    嵩天.礼欣.黄天羽Python语言程序设计基础(第2版)习题答案本书提出了以理解和运用计算生态为目标的Python语言教学思想,在系统讲解Python语言语法的同时介绍了从数据理解到图像处理的14个P ...

  2. [转载] 《Python语言程序设计》课程笔记

    参考链接: Python程式设计语言 文章目录 第一部分 Python快速入门第1周 Python基本语法元素第2周 Python基本图形绘制 第二部分 Python基础语法第3周 基本数据类型3.1 ...

  3. Python语言程序设计笔记(全)

    Python语言程序设计 源代码人类可理解 目标代码 计算机直接执行 文章目录 Python语言程序设计 1.编译与解释 2.编程语言分类 3.python语言简介 4. 下载配置python 5.编 ...

  4. Python语言程序设计笔记

    例:获得用户输入数字N,计算并输出从N开始的5个质数,单行输出 首先:定义函数判断一个数是否是质数,return True/False,注意return True的格式,不在for循环体中,在函数体中 ...

  5. python七段数码管绘制单个数字_使用Python的turtle库实现七段数码管绘制

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

  6. 《Python语言程序设计》——2.10 增强型赋值运算符

    本节书摘来自华章计算机<Python语言程序设计>一书中的第2章,第2.10节,作者:[美]梁勇(Y. Daniel Liang) 更多章节内容可以访问云栖社区"华章计算机&qu ...

  7. python语言程序设计——深入学习python

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 1.编程语言种类的发展 2.Python特点与优势 Python语言是通用语言,适用于普适的计算机问题求解的开发. 最大 ...

  8. python语言程序设计——python3的33个保留字

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. python3的33个保留字 黑色字符是在python基础语法体系中出现的,红色的是不常用的 字符 含义 True 真 ...

  9. python语言程序设计2019版第二章课后答案-《Python语言程序设计》 —2.7 课后习题...

    2.7 课后习题 1.   是指在程序运行过程中值可以发生改变的量. 2.   已知s="Python语言程序设计",则print(s[2:4])的输出结果为 ,print(s[- ...

最新文章

  1. C#实现Web应用程序定时启动任务
  2. 网络营销外包专员浅析企业网络营销外包整合关键点有哪些?
  3. 049_汉字Unicode编码范围
  4. C#语言之“中英文混合字符串对齐”的方法
  5. apache php日志配置,HTML_初学:apache与php基本配置,1、APACHE的日志主要分为“ - phpStudy...
  6. mysql表空间转移_mysql共享表空间扩容,收缩,迁移
  7. Java操作Mysql实例
  8. 软工作业PSP与单元测试训练 15100231
  9. linux调度器(五)——进程管理与CFS
  10. linux open详解,Linux系统open函数详解
  11. 快速获得CSDN积分的技巧
  12. HTML5 标签汇总
  13. java 经纬度距离_java根据经纬度计算距离
  14. GoogleNet论文解读
  15. linux服务器安装字体,删除字体,详细步骤
  16. win10笔记本使用virtualbox鼠标失灵
  17. 晴天计算机按键,【图】超实用的ML系列操控快速入门,新手必存(按钮示意图)...
  18. Ubuntu上安装QQ,无法显示图片和头像
  19. SpringBoot2核心技术最好的一篇文章——1.基础入门
  20. mysql防火墙设置_mysql8 参考手册--MySQL企业防火墙配置参考

热门文章

  1. [见得多了就懂了]食物链
  2. 怎么提高Mysql执行sql导入的速度
  3. mysql启动成功但是没有进程_zabbix_server表面启动成功,但是没有进程
  4. Glib2:error: Installed (but unpackaged) files found(七)
  5. Mac关闭SIP模式 开启root
  6. ASoC Platform驱动代码框架图
  7. 解决Python中文注释报错
  8. Android中long类型对应Java/Jni/C++中的类型
  9. Android java获取行号和函数名
  10. c语言自建一个窗口,C语言 手把手教你写个自定义printf