利用python函数绘制七段数码管

    科技2024-07-23  63

    import turtle,time 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(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): #date为日期,格式为‘%Y-%X=%d+' turtle.pencolor("red") for i in date: if i == '-': turtle.write('年',font=("Arial",18,"normal")) turtle.pencolor("green") turtle.fd(40) elif i == '=': turtle.write('月', font=("Arial", 18, "normal")) turtle.pencolor("blue") turtle.fd(40) elif i == '+': turtle.write('日', font=("Arial", 18, "normal")) else: drawdigit(eval(i)) def main(): turtle.setup(800, 350, 200, 200) turtle.penup() turtle.fd(-300) turtle.pensize(5) drawdate(time.strftime('%Y-%m=%d+',time.gmtime()))#获取系统时间并进行格式化 turtle.hideturtle() turtle.done() main()

    运行结果: 总结:

    模块化思维:确定模块接口,封装功能规则化思维:抽象过程为规则,计算机自动执行化繁为简:将大功能变为小功能组合,分而治之

    举一反三:

    绘制带小数点的七段数码管带刷新时间倒计时效果绘制高级的多段数码管
    Processed: 0.011, SQL: 8