7段数码管绘制(小时,分,秒)

发布时间 2023-11-22 17:32:58作者: LXxx007

7段数码管绘制(小时,分,秒)

python代码:

# 七段数码管的绘制.py
from turtle import *  # 调用turtle、random、time库
from random import *
import time


def drawGap():
    penup()  # 提笔
    fd(5)


def drawLine(draw):
    drawGap()
    if draw:  # 除了七段数码管提笔,其余停笔
        pendown()
    else:
        penup()
    fd(40)  # 向前40
    drawGap()
    right(90)  # 向右旋转90


def drawDight(digit):
    pencolor(random(), random(), random())  # 颜色随机
    drawLine(True) if digit in [2, 3, 4, 5, 6, 8, 9] else drawLine(False)  # 第一段那些数字会经过
    pencolor(random(), random(), random())
    drawLine(True) if digit in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False)
    pencolor(random(), random(), random())
    drawLine(True) if digit in [0, 2, 3, 5, 6, 8, 9] else drawLine(False)
    pencolor(random(), random(), random())
    drawLine(True) if digit in [0, 2, 6, 8] else drawLine(False)
    pencolor(random(), random(), random())
    left(90)  # 向左旋转90度
    drawLine(True) if digit in [0, 4, 5, 6, 8, 9] else drawLine(False)
    pencolor(random(), random(), random())
    drawLine(True) if digit in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)
    pencolor(random(), random(), random())
    drawLine(True) if digit in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)
    pencolor(random(), random(), random())
    left(180)
    penup()  # 为绘制后续数字确定位置
    fd(20)  # 为绘制后续数字确定位置


def drawDate(date):
    for i in date:

        if i == '-':  # 设定年、月、日的单位

            write('小时', font=("Arial", 28, "normal"))
            pencolor("orange")
            fd(40)
        elif i == '=':
            write('', font=("Arial", 28, "normal"))
            pencolor("pink")
            fd(40)
        elif i == '+':

            write('', font=("Arial", 28, "normal"))
            pencolor("yellow")

        else:
            drawDight(eval(i))


def main():
    setup(800, 350, 200, 200)  # 设置画布大小
    penup()
    fd(-300)
    pensize(5)

    drawDate(time.strftime('%H-%M=%S+', time.localtime()))  # 将模板设置为"小时-分钟=秒+"
    hideturtle()
    done()


main()

运行结果: