代码

  1. # coding:utf-8
  2. # 绘制七段数码管,显示当前时间
  3. import time
  4. import turtle as tt
  5. # 绘制间隔
  6. def drawGap():
  7. tt.penup()
  8. tt.fd(5)
  9. # 绘制单段数码管
  10. def drawLine(draw):
  11. drawGap()
  12. if(draw):
  13. tt.pendown()
  14. else:
  15. tt.penup()
  16. tt.fd(50)
  17. drawGap()
  18. tt.right(90)
  19. # 绘制当前时间
  20. def drawDate(date):
  21. tt.pencolor("red")
  22. for i in date:
  23. if i == '+':
  24. tt.write("年", font = ("黑体", 25, "normal"))
  25. tt.pencolor("green")
  26. tt.fd(50)
  27. elif i == '-':
  28. tt.write("月", font=("黑体", 25, "normal"))
  29. tt.pencolor("blue")
  30. tt.fd(50)
  31. elif i == '*':
  32. tt.write("日", font=("黑体", 25, "normal"))
  33. tt.pencolor("purple")
  34. tt.fd(50)
  35. elif i == '=':
  36. tt.write("时", font=("黑体", 25, "normal"))
  37. tt.pencolor("yellow")
  38. tt.fd(50)
  39. elif i == '#':
  40. tt.write("分", font=("黑体", 25, "normal"))
  41. tt.pencolor("black")
  42. tt.fd(50)
  43. elif i == '$':
  44. tt.write("秒", font=("黑体", 25, "normal"))
  45. else:
  46. drawDigit(eval(i))
  47. # 绘制数码管
  48. def drawDigit(cur_time):
  49. if cur_time in [2, 3, 4, 5, 6, 8, 9]:
  50. drawLine(True)
  51. else:
  52. drawLine(False)
  53. if cur_time in [0, 1, 3, 4, 5, 6, 7, 8, 9]:
  54. drawLine(True)
  55. else:
  56. drawLine(False)
  57. if cur_time in [0, 2, 3, 5, 6, 8, 9]:
  58. drawLine(True)
  59. else:
  60. drawLine(False)
  61. if cur_time in [0, 2, 6, 8]:
  62. drawLine(True)
  63. else:
  64. drawLine(False)
  65. tt.left(90)
  66. if cur_time in [0, 4, 5, 6, 8, 9]:
  67. drawLine(True)
  68. else:
  69. drawLine(False)
  70. if cur_time in [0, 2, 3, 5, 6, 7, 8, 9]:
  71. drawLine(True)
  72. else:
  73. drawLine(False)
  74. if cur_time in [0, 1, 2, 3, 4, 7, 8, 9]:
  75. drawLine(True)
  76. else:
  77. drawLine(False)
  78. tt.left(180)
  79. tt.penup()
  80. tt.fd(20)
  81. # 主函数
  82. def main():
  83. tt.setup(1600, 300, 200, 200)
  84. tt.penup()
  85. tt.fd(-730)
  86. tt.pensize(5)
  87. drawDate(time.strftime('%Y+%m-%d*%H=%M#%S$', time.localtime()))
  88. tt.hideturtle()
  89. tt.done()
  90. if __name__ == "__main__":
  91. main()

结果

Python 绘制当前时间数码管 - 图1


总结

通过在mooc网学习相关知识,借鉴相关代码,最终实现本次设计。