最近迷上了Python,要說為什么呢?Python語法簡單,功能強大,有廣泛的第三方庫能快速編程實現自己的想法(無需重復去造輪子)。就像某位前輩說的:“人生苦短,學會偷懶…”,配置好sublime text照著網上教程直接上手寫個小程序入門。
先插張圖,計算機技術的演進過程,總結的還是挺到位的。
安裝好Python環境,引入需要用到的庫:
import threadingimport turtleimport time
引入time庫后使用localtime()方法可以獲取當前服務器時間,然后使用turtle庫繪制7段數碼管時鐘。
now = time.localtime() # 返回服務器時間 print(now)print(time.strftime("%Y-%m-%d %H:%M:%S", now)) # 轉成字符串# %y 兩位數的年份表示(00-99)# %Y 四位數的年份表示(000-9999)# %m 月份(01-12)# %d 月內中的一天(0-31)# %H 24小時制小時數(0-23)# %I 12小時制小時數(01-12)# %M 分鐘數(00=59)# %S 秒(00-59)# %a 本地簡化星期名稱# %A 本地完整星期名稱# %b 本地簡化的月份名稱# %B 本地完整的月份名稱# %c 本地相應的日期表示和時間表示# %j 年內的一天(001-366)# %p 本地A.M.或P.M.的等價符# %U 一年中的星期數(00-53)星期天為星期的開始# %w 星期(0-6),星期天為星期的開始# %W 一年中的星期數(00-53)星期一為星期的開始# %x 本地相應的日期表示# %X 本地相應的時間表示# %Z 當前時區的名稱# %% %號本身
繪制數碼管函數:
# 繪制單根數碼管def drawLine(draw): turtle.pensize(3) turtle.pu turtle.fd(3) if draw: turtle.pd() else: turtle.pu() turtle.fd(24) turtle.pu() turtle.fd(3) turtle.right(90) # 根據數字繪制數碼管def drawNum(num, color): turtle.colormode(255) turtle.color(eval(color)) # 第一條線 if num in [2, 3, 4, 5, 6, 8, 9]: drawLine(True) else: drawLine(False) if num in [0, 1, 3, 4, 5, 6, 7, 8, 9]: drawLine(True) else: drawLine(False) if num in [0, 2, 3, 5, 6, 8, 9]: drawLine(True) else: drawLine(False) if num in [0, 2, 6, 8]: drawLine(True) else: drawLine(False) turtle.left(90) if num in [0, 4, 5, 6, 8, 9]: drawLine(True) else: drawLine(False) if num in [0, 2, 3, 5, 6, 7, 8, 9]: drawLine(True) else: drawLine(False) if num in [0, 1, 2, 3, 4, 7, 8, 9]: drawLine(True) else: drawLine(False) turtle.pu() turtle.left(180) turtle.fd(30) # 繪制后面數字間隔位置 turtle.update()
一個7段數碼管全部繪制(顯示數字8)順序如下,根據顯示的數字來決定哪些需要繪制,哪些只是抬起畫筆移動不進行繪制,所以繪制單段數碼管的函數內設置了一個參數draw。
新聞熱點
疑難解答