Python绘制数码管(系统时间)


Python具有强大的数据处理功能,这一章我们就讲解它的冰山一角,利用库函数获取系统时间并用书那关的形式进行展示、

源代码如下:

#SevenDigitsDrawV2.py
  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(d): #根据数字绘制七段数码管
  drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
  drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
  drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
  drawLine(True) if d in [0,2,6,8] else drawLine(False)
  turtle.left(90)
  drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
  drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
  drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
  turtle.left(180)
  turtle.penup()
  turtle.fd(20)
  def drawDate(date):
  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(-350)
  turtle.pensize(5)
  # drawDate('2018-10=10+')
  drawDate(time.strftime('%Y-%m=%d+',time.gmtime())) #gmtime()获取系统时间
  turtle.hideturtle() #隐藏箭头显示
  turtle.done()
  main()

我们采用了模块化的编程思想,将其分别拆分为drawGap()--数码管间隔、drawLine()--绘制单段数码管、drawDigit()--绘制七段数码管、drawDate---系统时间格式化,并以main()函数启动程序运行。

  

 

                         赞赏是对博主最大的支持!

                      

版权声明:

 


 

本文中所有文字、图片版权均属本人所有,如需转载请注明来源

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM