七段数码管显示

# 问题分析

1.七段数码管能显示的内容是:

2.确定绘图的方向

下面的图片来自于中国大学慕课课程截图

# 问题分析

import turtle
def drawline(draw):  # 定义绘制单段数码管的函数
    turtle.pendown() if draw else turtle.penup()  # 定义是,如果draw 是ture,则pendown,绘制,否则,画笔抬起,penup。
    turtle.fd(40)
    turtle.right(90)  # 前进40个像素,并想有旋转90度,就是顺时针旋转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(20)
def drawDate(date):
    for i in date:
        drawDigit(eval(i))
def main():
    turtle.setup(800,350,200,200)
    turtle.penup()
    turtle.fd(-200)
    turtle.pensize(5)
    turtle.pencolor("red")
    drawDate('20220404')
    turtle.hideturtle()
    turtle.done()
main()



猜你喜欢

转载自blog.csdn.net/charmingmm815/article/details/123950562