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