当前位置 博文首页 > Python绘制数码晶体管日期

    Python绘制数码晶体管日期

    作者:一个超会写Bug的安太 时间:2021-07-26 17:43

    本文实例为大家分享了Python绘制数码晶体管日期的具体代码,供大家参考,具体内容如下

    源码:

    drawLine(draw) 画一条线
    drawDight(dight) 画一个数字
    drawDate(date) 画一组数字

    代码:

    import turtle, time
    
    
    def drawLine(draw):
     turtle.pendown() if draw else turtle.penup()
     turtle.fd(40)
     turtle.right(90)
    
    
    def drawDight(dight):
     drawLine(True) if dight in [2, 3, 4, 5, 6, 8, 9] else drawLine(False)
     drawLine(True) if dight in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False)
     drawLine(True) if dight in [0, 2, 3, 5, 6, 8, 9] else drawLine(False)
     drawLine(True) if dight in [0, 2, 6, 8] else drawLine(False)
     turtle.left(90)
     drawLine(True) if dight in [0, 4, 5, 6, 8, 9] else drawLine(False)
     drawLine(True) if dight in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)
     drawLine(True) if dight in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)
     turtle.right(180)
     turtle.penup()
     turtle.fd(20)
    
    
    def drawDate(date):
     turtle.pencolor("red")
     for i in date:
      if i == '-':
       turtle.write('年', font=("微软雅黑", 32, "normal"))
       turtle.pencolor("green")
       turtle.fd(80)
      elif i == '=':
       turtle.write('月', font=("微软雅黑", 32, "normal"))
       turtle.pencolor("blue")
       turtle.fd(80)
      elif i == '+':
       turtle.write('日', font=("微软雅黑", 32, "normal"))
       turtle.pencolor("red")
       turtle.fd(80)
      elif i == '/':
       turtle.write('时', font=("微软雅黑", 32, "normal"))
       turtle.pencolor("green")
       turtle.fd(80)
      elif i == '*':
       turtle.write('分', font=("微软雅黑", 32, "normal"))
       turtle.pencolor("blue")
       turtle.fd(80)
      elif i == '.':
       turtle.write('秒', font=("微软雅黑", 32, "normal"))
       turtle.fd(80)
      else:
       drawDight(eval(i))
    
    
    if __name__ == '__main__':
     # turtle.setup() 我用的是pycharm,所以没有设置画布,idle下需要设置
     turtle.penup()
     turtle.fd(-350)
     turtle.pensize(5)
     turtle.speed(1000) # 速度再大也没感觉了
     drawDate(time.strftime('%Y-%m=%d+', time.localtime()))
     # 这里千万不要用time.gmtime()),获取的是UTC时区(0时区)的struct_time
     # 踩了半天坑
    
     turtle.right(90)
     turtle.fd(120)
     turtle.right(90)
     turtle.fd(660)
     turtle.right(180)
     drawDate(time.strftime('%H/%M*%S.', time.localtime()))
     turtle.hideturtle()
     turtle.done()

    效果图:

    jsjbwy
    下一篇:没有了