首页 > 其他分享 >七段数码管控绘制

七段数码管控绘制

时间:2022-12-08 15:11:25浏览次数:33  
标签:turtle False 管控 drawLine else 数码 fd True 七段

代码如下:

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 ", 36, "normal"))
            turtle.pencolor("green")
            turtle.fd(50)
        elif i == '=':
            turtle.write('月', font=("Arial", 36, "normal"))
            turtle.pencolor("blue")
            turtle.fd(50)
        elif i == '+':
            turtle.write('日', font=("Arial", 36, "normal"))
            turtle.pencolor("yellow")
            turtle.fd(50)
        elif i == '*':
            turtle.write('时', font=("Arial", 36, "normal"))
            turtle.pencolor("purple")
            turtle.fd(50)
        elif i == '/':
            turtle.write('分', font=("Arial", 36, "normal"))
            turtle.pencolor("gold")
            turtle.fd(50)
        elif i == '$':
            turtle.write('秒', font=("Arial", 36, "normal"))
        else:
            drawDigit(eval(i))


def main():
 turtle.speed(30) #海龟移动速度
    turtle.setup(1400, 350, 200, 200)#设置窗口大小
    turtle.penup()
    turtle.fd(-650)
    turtle.pensize(5)
    drawDate(datetime.datetime.now().strftime('%Y-%m=%d+%H*%M/%S$'))
    turtle.hideturtle()
    turtle.done()

main()

运行结果如下:

 

标签:turtle,False,管控,drawLine,else,数码,fd,True,七段
From: https://www.cnblogs.com/mengblogs/p/16966135.html

相关文章

  • 7段数码管绘制python实验
    实验代码如下:1importturtle,time2defdrawGap():3turtle.penup()4turtle.fd(5)5defdrawLine(draw):#绘制单段数码管6drawGap()......
  • 7段数码管绘制 (2022年12月8日 14点38分)
    """7段数码管绘制"""importturtle,datetimedefdrawGap():#绘制数码管间隔turtle.penup()turtle.fd(5)defdrawLine(draw):#绘制单段数码管d......
  • 智慧能源管控系统助力中旅集团望京港旅大厦智“汇”物业信息化建设
    中旅集团物业公司在京管理项目有138处,为落实中旅物业数字化转型三年行动方案规划,选定望京港旅大厦为能源数字化改造试点,启动智慧能源管控系统建设,改变物业传统能耗管理的现......
  • AIoT智能物联网管控平台
    01产品定义达实AIoT智能物联网管控平台通过全新平台架构(接口、数据、应用三层分离)设计实现建筑物里人、设施、设备全连接、全在线,覆盖空调通风、照明电梯、视频监控、门......
  • 浅谈基于物联网技术的地下综合管廊智慧管控平台建设分析
    罗轩志安科瑞电气股份有限公司 上海嘉定 201801 摘要:本文以物联网、GIS等技术为基础,采用文献研究等方法,在探究我国地下综合管廊管廊现状及相关技术飾基础上,对其智慧管......
  • 用51单片机动态数码管显示数字。
    实现8个数码管依次显示12345678数字用stc生成的1ms的延时函数,并通过快速的循环12345678实现其让我们看着像同时显示这些数字,并通过延时1ms,将p0口清零达到消影的效果。同时将......
  • 国产化云平台如何实现多云管控,黄河云来“打样儿”
    黄河云是黄河科技集团创新有限公司(以下简称:黄河科技)落实河南省委、省政府要求,依托河南信息产业投资有限公司建设的自主可控的信息化新型基础设施,也是河南首个规模化商用的国......
  • 用敏捷的DevOps拳打研发低效、脚踢管控不足
    在为客户进行DevOps咨询和提供解决方案时,除了“又快又好”的发布之外,我们发现客户通常还有两大方面需求:开发测试管理问题和运行管理问题。以某大型金融企业为例,该企业开发测......
  • 一文详解GaussDB(DWS) 的并发管控和内存管控
    摘要:DWS的负载管理分为两层,第一层为cn的全局并发控制,第二层为资源池级别的并发控制。本文分享自华为云社区《GaussDB(DWS)并发管控&内存管控》,作者:fighttingman。1背景......
  • 一文详解GaussDB(DWS) 的并发管控和内存管控
    摘要:DWS的负载管理分为两层,第一层为cn的全局并发控制,第二层为资源池级别的并发控制。本文分享自华为云社区《​​GaussDB(DWS)并发管控&内存管控​​》,作者:fighttingman。......