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

7段数码管绘制

时间:2023-11-19 17:57:05浏览次数:34  
标签:turtle False drawLine True else 数码管 fd 绘制

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,True,else,数码管,fd,绘制
From: https://www.cnblogs.com/Liu190731/p/17842331.html

相关文章

  • CADquery 螺纹的绘制
     fromcadqueryimport*importcadqueryascqfrommathimport*defhelix(r0,r_eps,p,h,d=0,frac=1e-1):deffunc(t):iffrac<t<1-frac:z=h*t+dr=r0+r_epselift<=frac:......
  • 七段数码管绘制
    importturtle,datetimedefdrawGap():#绘制数码管间隔turtle.penup()turtle.fd(5)defdrawLine(draw):#绘制单段数码管drawGap()turtle.pendown()ifdrawelseturtle.penup()turtle.fd(40)drawGap()turtle.right(90)defdrawDigit(d):#根据数字......
  • 在线CAD SDK前端库绘制规则多边形图形
    前言在CAD(计算机辅助设计)领域,绘制多边形是常见的任务之一。MxCAD是一款专注在线CAD的前端库,提供了丰富的绘图和设计功能,使得绘制多边形变得轻松而灵活。本文将带领您通过使用MxCAD实现绘制多边形的过程,深入了解其基本概念和功能。mxcad 是一个基于TypeScript的前端库,专为......
  • Python绘制神经网络模型的结构示意图的方法
      本文介绍基于Python语言,对神经网络模型的结构进行可视化绘图的方法。  最近需要进行神经网络结构模型的可视化绘图工作。查阅多种方法后,看到很多方法都比较麻烦,例如单纯利用graphviz模块,就需要手动用DOT语言进行图片描述,比较花时间;最终,发现利用第三方的ann_visualizer模块,可......
  • 利用leafletCN包在R里绘制可交互地图(叠加高德地图替代)
    Leaflet是一个开源并且对移动端友好的交互式地图JavaScript库。在R语言中也使用相应的leaflet包调用。然而,在国内,一些国外的地图资源在加载或使用中会存在问题。为此,需要一个适应国情的扩展包leafletCN(GitHub-Lchiffon/leafletCN:AnRgalleryforChinaandothergeoj......
  • 点阵LED数码管显示驱动IC VK16K33 A/B/C/BA/AA 驱动电流大 质量稳定 适用于计量插座,数
    概述VK16K33是一种带按键扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有数据锁存器、键盘扫描、LED驱动模块等电路。数据通过I2C通讯接口与MCU通信。SEG脚接LED阳极,GRID脚接LED阴极,可支持16SEGx8GRID的点阵LED显示面板。最大支持13×3的按键。内置上电复位电路,整体闪烁频......
  • canvas绘制圆环
    初识canvascanvas我们可以理解为是一个画布。它是一个载体。我们的文字,图案,都是在这个载体(画布)上来进行操作的。canvas的5个要素canvas具有的5个要素:1.id元素的唯一标识2.width宽度3.height高度4.画笔,上下文canvas.getContext('2d')5.内容(文字,图形,其他)can......
  • 第二十三篇 - d3绘制直方图
    当下探讨用d3制作简单横向直方图效果图:一、下载d3【npminstalld3】二、导入d3【import*asd3from"d3";】二、画直方图参考链接:https://www.cnblogs.com/xuepei/p/7527082.html1.准备表格数据rectlist:[{week:"星期一",product:8......
  • 软件测试|使用python绘制等高线密度图
    简介等高线密度图(ContourDensityPlot)是一种可视化数据分布的有效方式,特别适用于显示二维数据的密度分布情况。Python提供了丰富的工具和库,使得创建等高线密度图变得相对容易。在本文中,我们将介绍如何使用Python和Matplotlib库创建等高线密度图,并提供一个示例来演示整个过程。步骤......
  • uniapp 之绘制海报 并适应机型
    之前绘制的海报出现的问题:①海报有一角圆角没体现出来②海报内容随机型,变动到其他位置(并不是想要的地方)针对于这个问题进行修改注意:海报设置的宽度与你canvas给的标签的宽高是保持一致,下面图片为完成的海报图    一、设置海报的初......