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

七段数码管绘制

时间:2023-11-19 17:59:10浏览次数:26  
标签:turtle False drawLine True else 数码管 fd 绘制 七段

七段数码管绘制

#请学号最后一个尾号为(2,3)的同学。画出,系统时间。具体包括:年,月,日,小时,分。

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",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"))
turtle.pencolor("yellow")
turtle.fd(40)
elif i == '*':
turtle.write('时',font=("Arial",18,"normal"))
turtle.pencolor("purple")
turtle.fd(40)
elif i == '&':
turtle.write('分',font=("Arial",18,"normal"))
else:
drawDigit(eval(i))
def main():
turtle.setup(1200, 500, 100, 100)
turtle.penup()
turtle.fd(-500)
turtle.pensize(5)
drawDate(datetime.datetime.now().strftime('%Y-%m=%d+%H*%M&')) #strftime(format)根据格式化字符串format进行格式显示
turtle.hideturtle()
main()

 

代码运行截图:

 

标签:turtle,False,drawLine,True,else,数码管,fd,绘制,七段
From: https://www.cnblogs.com/gzygshyq/p/17842317.html

相关文章

  • 7段数码管绘制
    importturtle,datetimedefdrawGap():#绘制数码管间隔turtle.penup()turtle.fd(5)defdrawLine(draw):#绘制单段数码管drawGap()turtle.pendown()ifdrawelseturtle.penup()turtle.fd(40)drawGap()turtle.right(90)defdrawDigit(d):#......
  • 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库创建等高线密度图,并提供一个示例来演示整个过程。步骤......