利用Python中的turtle图形库绘制七段数码管,显示当前时间
代码
# coding:utf-8# 绘制七段数码管,显示当前时间import timeimport turtle as tt# 绘制间隔def drawGap(): tt.penup() tt.fd(5)# 绘制单段数码管def drawLine(draw): drawGap() if(draw): tt.pendown() else: tt.penup() tt.fd(50) drawGap() tt.right(90)# 绘制当前时间def drawDate(date): tt.pencolor("red") for i in date: if i == '+': tt.write("年", font = ("黑体", 25, "normal")) tt.pencolor("green") tt.fd(50) elif i == '-': tt.write("月", font=("黑体", 25, "normal")) tt.pencolor("blue") tt.fd(50) elif i == '*': tt.write("日", font=("黑体", 25, "normal")) tt.pencolor("purple") tt.fd(50) elif i == '=': tt.write("时", font=("黑体", 25, "normal")) tt.pencolor("yellow") tt.fd(50) elif i == '#': tt.write("分", font=("黑体", 25, "normal")) tt.pencolor("black") tt.fd(50) elif i == '$': tt.write("秒", font=("黑体", 25, "normal")) else: drawDigit(eval(i))# 绘制数码管def drawDigit(cur_time): if cur_time in [2, 3, 4, 5, 6, 8, 9]: drawLine(True) else: drawLine(False) if cur_time in [0, 1, 3, 4, 5, 6, 7, 8, 9]: drawLine(True) else: drawLine(False) if cur_time in [0, 2, 3, 5, 6, 8, 9]: drawLine(True) else: drawLine(False) if cur_time in [0, 2, 6, 8]: drawLine(True) else: drawLine(False) tt.left(90) if cur_time in [0, 4, 5, 6, 8, 9]: drawLine(True) else: drawLine(False) if cur_time in [0, 2, 3, 5, 6, 7, 8, 9]: drawLine(True) else: drawLine(False) if cur_time in [0, 1, 2, 3, 4, 7, 8, 9]: drawLine(True) else: drawLine(False) tt.left(180) tt.penup() tt.fd(20)# 主函数def main(): tt.setup(1600, 300, 200, 200) tt.penup() tt.fd(-730) tt.pensize(5) drawDate(time.strftime('%Y+%m-%d*%H=%M#%S$', time.localtime())) tt.hideturtle() tt.done()if __name__ == "__main__": main()
结果
总结
通过在mooc网学习相关知识,借鉴相关代码,最终实现本次设计。
欢迎关注微信公众号:村雨1943;创作不易,未经同意,转载请注明出处~