Python学习探索: 七段数码管的绘制

import time
import turtle

# 将时间以列表方式储存
timelist = list((time.strftime("%Y%m%d", time.localtime())))
# 每画的角度
anglelist = [-90, -90, 0, 90, -180, 90, 0, -90]

num = [
#   [1, 2, 3, 4, 5, 6, 7, 8]   #每画/数字
    [1, 1, 1, 1, 0, 1, 1, 1],  # 0
    [0, 0, 0, 1, 0, 0, 0, 1],  # 1
    [0, 1, 1, 0, 1, 0, 1, 1],  # 2
    [0, 0, 1, 1, 1, 0, 1, 1],  # 3
    [1, 0, 0, 1, 1, 1, 0, 1],  # 4
    [1, 0, 1, 1, 1, 1, 1, 0],  # 5
    [1, 1, 1, 1, 1, 1, 1, 0],  # 6
    [0, 0, 0, 1, 0, 0, 1, 1],  # 7
    [1, 1, 1, 1, 1, 1, 1, 1],  # 8
    [1, 0, 1, 1, 1, 1, 1, 1]  # 9
]


def DrawNum(n):
    '''
    #  绘制函数
    #  n -> 绘制的数字
    '''
    for i in range(8):
        turtle.seth(anglelist[i])
        if num[n][i] == 1:
            turtle.pd()
        else:
            turtle.pu()
        turtle.fd(50)


def PenMove(t):
    '''
    #  移动到落笔位置
    #  t -> 绘制位数 
    '''
    if t == 0:
        turtle.pu()
        turtle.goto(-320, 60)
        turtle.pensize(5)
        turtle.pd()
    else:
        turtle.pu()
        turtle.seth(0)
        turtle.fd(40)
        turtle.seth(90)
        turtle.fd(50)
        turtle.pd()


def main():
    for t in range(8):
        PenMove(t)
        DrawNum(int(timelist[t]))
    turtle.done()


main()

猜你喜欢

转载自blog.csdn.net/weixin_43540317/article/details/105043971
今日推荐