gzj137070928 发表于 2020-11-4 10:46:30

段数码管的绘制V2

# 日期格式“2018-10=16+”
import turtle as t
import time

def drawGap():
    t.penup()
    t.fd(5)

def drawLine(draw):
    drawGap()
    t.pendown() if draw else t.penup()
    t.fd(40)
    drawGap()
    t.right(90)

def drawDigit(digit):
    # 数字2,3,4,5,6,8,9需要画第一笔
    drawLine(True) if digit in else drawLine(False)
    # 数字0,1,3,4,5,6,7,8,9需要画第一笔
    drawLine(True) if digit in else drawLine(False)
    drawLine(True) if digit in else drawLine(False)
    drawLine(True) if digit in else drawLine(False)
    t.left(90)
    drawLine(True) if digit in else drawLine(False)
    drawLine(True) if digit in else drawLine(False)
    drawLine(True) if digit in else drawLine(False)
    t.left(180)
    t.penup()# 为绘制后续数字确定位置
    t.fd(20)# 为绘制后续数字确定位置

defdrawDate(date):
    t.pencolor("red")
    for i in date:
      if i == "-":
            t.write("年", font=("Arial", 36, "normal"))
            t.pencolor("green")
            t.fd(50)
      elif i == "=":
            t.write("月", font=("Arial", 36, "normal"))
            t.pencolor("blue")
            t.fd(50)
      elif i == "+":
            t.write("日", font=("Arial", 36, "normal"))
            t.fd(50)
      else:
            drawDigit(eval(i))

def main():
    t.setup(800, 350, 200, 200)
    t.penup()
    t.fd(-350)
    t.pensize(5)
    drawDate(time.strftime("%Y-%m=%d+", time.gmtime()))
    t.hideturtle()
    t.done()

main()
页: [1]
查看完整版本: 段数码管的绘制V2