7段数码管绘制

发布时间 2023-11-23 17:47:34作者: slowdowna

import turtle, datetime
def drawLine(draw): # 绘制单段数码管
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
turtle.right(90)
def drawDigit(digit): # 根据数字绘制七段数码管
drawLine(True) if digit in [2, 3, 4, 5, 6, 8, 9] else drawLine(False)
drawLine(True) if digit in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False)
drawLine(True) if digit in [0, 2, 3, 5, 6, 8, 9] else drawLine(False)
drawLine(True) if digit in [0, 2, 6, 8] else drawLine(False)
turtle.left(90)
drawLine(True) if digit in [0, 4, 5, 6, 8, 9] else drawLine(False)
drawLine(True) if digit in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)
drawLine(True) if digit in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)
turtle.left(180)
turtle.penup()
turtle.fd(30)

def drawDate(date): # 获得要输出的数字
for i in range(len(date)):
drawDigit(eval(date[i]))
if 3<=i<=4:#改变笔的颜色
turtle.pencolor('red')
elif 5<=i<=6:
turtle.pencolor('orange')
elif 7<=i<=8:
turtle.pencolor('green')
elif 9<=i<=10:
turtle.pencolor('yellow')
else:
turtle.pencolor('pink')
def main():
turtle.setup(1024, 600, 200, 200)
turtle.pencolor('pink')
turtle.penup()
turtle.fd(-500)
turtle.pensize(5)
drawDate(datetime.datetime.now().strftime('%Y%m%d%H%M%S'))
turtle.hideturtle()
main()