这是中国慕课上北理工的“Python语言程序设计”中的一课,仅此记录一下这段代码。

#版本一 数字线条连续
import turtle
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))
def main():turtle.setup(800,350,200,200)turtle.penup()turtle.fd(-300)turtle.pensize(5)drawDate('20220825')turtle.hideturtle()turtle.done()
main()
#版本二 线条不连续
import turtle, time
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(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):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.fd(40)elif i == '+' :turtle.write("日", font=("Arial", 18, "normal"))turtle.fd(40)else:drawDigit(eval(i))
def main():turtle.setup(800,350,200,200)turtle.penup()turtle.fd(-300)turtle.pensize(5)drawDate(time.strftime("%Y-%m=%d+", time.gmtime()))   #读取系统时间并转化为指定格式,‘-’ ‘=’ ‘+’ 可以为其他字符turtle.hideturtle()turtle.done()
main()

应用拓展:

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

-带刷新的时间倒计时效果

-绘制高级的数码管

Python “七段数码管绘制”相关推荐

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

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

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

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

  3. python七段数码管绘制单个数字_#Python语言程序设计Demo - 七段数码管绘制

    #七段数码管绘制 importturtle as timporttime as Tdef drawGap(): #绘制数码管的间隔 t.penup() t.fd(5)def drawLine(draw ...

  4. python七段数码管设计图案-Python 七段数码管绘制

    数码管是一种半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP(decimal point).它价格便宜.使用简单,通过对其不同 ...

  5. python七段数码管绘制秒表_Python绘制七段数码管实例代码

    七段数码管(seven-segmentindicator)由7段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置 绘制模式: input:输入当前日期的数字形式 proc ...

  6. python七段数码管绘制实验报告_Python绘制七段数码管实例代码

    七段数码管(seven-segmentindicator)由7段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置 绘制模式: input:输入当前日期的数字形式 proc ...

  7. python七段数码管绘制英文字母_Python入门基础:七段数码管绘制

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

  8. Python——七段数码管绘制

    基本概念 七段数码管:七段数码管( seven-segment indicator)由 7 段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置. 源代码 版本一 # Dr ...

  9. python七段数码管绘制学号_python七段数码管绘制

    import turtle,time def drawGap(): #绘制数码管间隔 turtle.penup() turtle.fd(5) def drawLine(draw): #绘制单段数码管 ...

最新文章

  1. python 实现可以一直输入内容直到某个特定的值退出循环的操作
  2. golang sdk后端怎么用_Golang资深后端工程师需要了解的知识点
  3. 关于Linux的inode和dentry的一组文章
  4. 把一个数组的值存入二叉树中,然后利用前序、中序、后序3种方式进行遍历(完整代码以及运行结果)(Java)
  5. 【学无止境】 基于ThinkPHP的OAuth2.0实现 ----OAuth2.0 个人学习笔记 Two
  6. Codeforces Round #243 (Div. 1)——Sereja and Squares
  7. mysql忘了root密码_mysql忘记root密码怎么办
  8. 老板不相信我的方案结论!怎么让数据分析驱动决策?
  9. 第十届数据技术嘉年华活动彩蛋!
  10. PyCharm编辑器的安装
  11. 谷歌不修用户泪流:已遭利用且影响所有安卓版本的严重 0day 漏洞 StrandHogg 详情遭曝光...
  12. Educational Codeforces Round 56 (Rated for Div. 2) F. Vasya and Array
  13. 教务管理系统数据表关系图_Web技术——简易班级管理系统(框架)
  14. 计算机管理员账户权限不足,用户权限不足,请使用管理员权限。怎么办啊?求高手帮忙!谢了。...
  15. EDA第一次课<1117电路图的绘制>
  16. 计算机专业发表论文要多久,现代计算机发表论文需要多长时间
  17. Android客户端如何使用cookie
  18. 【CVPR 2021】搜索网络宽度:BCNet: Searching for Network Width with Bilaterally Coupled Network
  19. android开发 高德地图自定义地图应用【最新】
  20. python读mongodb很慢_Python3.5+Mongodb+Flask Web实战坑点小结【Dog Plus】

热门文章

  1. Python爬虫学习第二章-1-requests模块简介
  2. 求噪声功率 MATLAB,[转载]matlab中噪声功率、噪声方差关系
  3. php5.6使用mysql_php5.6+MySQL5.6+Apache2.4环境搭建安装图文教程
  4. 类似抖音的短视频APP开发和运营需要注意什么
  5. 哈尔滨理工oj2316ID
  6. matlab mbd 淘宝,完美起航-基于模型(MBD)的树莓派程序开发——设置树莓派自动连接wifi和使用指令连接Matlab/Simulink和树莓派(不使用树莓派连接向导连接)...
  7. python:获取摄像头照片
  8. 软件测试是吃青春饭的吗?软件测试能干到多少岁?
  9. Linux安装Elasticsearch(手把手入门教程及下载资源)
  10. 类似微信表情图文混排(本地自定义表情)