您的位置:首页 > 编程语言 > Python开发

Python绘制数码管显示当前时间

2018-05-31 13:23 585 查看

利用Python中的turtle图形库绘制七段数码管,显示当前时间

代码

# coding:utf-8
# 绘制七段数码管,显示当前时间
import time
import 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网学习相关知识,借鉴相关代码,最终实现本次设计。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python