1. 程式人生 > 其它 >7段數碼管繪製 (2022年12月8日 14點38分)

7段數碼管繪製 (2022年12月8日 14點38分)

"""7段數碼管繪製"""

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()

繪製效果圖: