最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)簡(jiǎn)易數(shù)碼時(shí)鐘

 更新時(shí)間:2021年02月19日 11:20:16   作者:長(zhǎng)空孤月ysc  
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)易數(shù)碼時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近迷上了Python,要說為什么呢?Python語法簡(jiǎn)單,功能強(qiáng)大,有廣泛的第三方庫能快速編程實(shí)現(xiàn)自己的想法(無需重復(fù)去造輪子)。就像某位前輩說的:“人生苦短,學(xué)會(huì)偷懶…”,配置好sublime text照著網(wǎng)上教程直接上手寫個(gè)小程序入門。

先插張圖,計(jì)算機(jī)技術(shù)的演進(jìn)過程,總結(jié)的還是挺到位的。

安裝好Python環(huán)境,引入需要用到的庫:

import threading
import turtle
import time

引入time庫后使用localtime()方法可以獲取當(dāng)前服務(wù)器時(shí)間,然后使用turtle庫繪制7段數(shù)碼管時(shí)鐘。

now = time.localtime() # 返回服務(wù)器時(shí)間
 
print(now)
print(time.strftime("%Y-%m-%d %H:%M:%S", now))
 
# 轉(zhuǎn)成字符串
# %y 兩位數(shù)的年份表示(00-99)
# %Y 四位數(shù)的年份表示(000-9999)
# %m 月份(01-12)
# %d 月內(nèi)中的一天(0-31)
# %H 24小時(shí)制小時(shí)數(shù)(0-23)
# %I 12小時(shí)制小時(shí)數(shù)(01-12)
# %M 分鐘數(shù)(00=59)
# %S 秒(00-59)
# %a 本地簡(jiǎn)化星期名稱
# %A 本地完整星期名稱
# %b 本地簡(jiǎn)化的月份名稱
# %B 本地完整的月份名稱
# %c 本地相應(yīng)的日期表示和時(shí)間表示
# %j 年內(nèi)的一天(001-366)
# %p 本地A.M.或P.M.的等價(jià)符
# %U 一年中的星期數(shù)(00-53)星期天為星期的開始
# %w 星期(0-6),星期天為星期的開始
# %W 一年中的星期數(shù)(00-53)星期一為星期的開始
# %x 本地相應(yīng)的日期表示
# %X 本地相應(yīng)的時(shí)間表示
# %Z 當(dāng)前時(shí)區(qū)的名稱
# %% %號(hào)本身

繪制數(shù)碼管函數(shù):

# 繪制單根數(shù)碼管
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)
 
 
# 根據(jù)數(shù)字繪制數(shù)碼管
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) # 繪制后面數(shù)字間隔位置
 turtle.update()

一個(gè)7段數(shù)碼管全部繪制(顯示數(shù)字8)順序如下,根據(jù)顯示的數(shù)字來決定哪些需要繪制,哪些只是抬起畫筆移動(dòng)不進(jìn)行繪制,所以繪制單段數(shù)碼管的函數(shù)內(nèi)設(shè)置了一個(gè)參數(shù)draw。

定義一個(gè)Tick函數(shù),利用threading庫實(shí)現(xiàn)定時(shí)刷新:

def Tick():
 now = time.localtime()
 now_time.n_sec = now.tm_sec
 turtle.reset()
 turtle.hideturtle()
 turtle.pu()
 turtle.fd(-300)
 
 darwDate(str(now.tm_year), '(255, 69, 0)')
 turtle.fd(10)
 turtle.right(90)
 turtle.fd(30)
 turtle.write('年', align="center", font=("Courier", 30, "bold"))
 turtle.left(180)
 turtle.fd(30)
 turtle.right(90)
 turtle.fd(30)
 
 darwDate(str(now.tm_mon), '(0,139,0)')
 turtle.fd(10)
 turtle.right(90)
 turtle.fd(30)
 turtle.write('月', align="center", font=("Courier", 30, "bold"))
 turtle.left(180)
 turtle.fd(30)
 turtle.right(90)
 turtle.fd(30)
 
 darwDate(str(now.tm_mday), '(0,0,139)')
 turtle.fd(10)
 turtle.right(90)
 turtle.fd(30)
 turtle.write('日', align="center", font=("Courier", 30, "bold"))
 turtle.left(180)
 turtle.fd(-90)
 turtle.right(90)
 turtle.fd(-510)
 
 darwDate(str(now.tm_hour))
 turtle.fd(10)
 turtle.right(90)
 turtle.fd(30)
 turtle.write('時(shí)', align="center", font=("Courier", 30, "bold"))
 turtle.left(180)
 turtle.fd(30)
 turtle.right(90)
 turtle.fd(30)
 
 darwDate(str(now.tm_min))
 turtle.fd(10)
 turtle.right(90)
 turtle.fd(30)
 turtle.write('分', align="center", font=("Courier", 30, "bold"))
 turtle.left(180)
 turtle.fd(30)
 turtle.right(90)
 turtle.fd(30)
 
 darwDate(str(now.tm_sec))
 turtle.fd(10)
 turtle.right(90)
 turtle.fd(30)
 turtle.write('秒', align="center", font=("Courier", 30, "bold"))
 turtle.left(180)
 turtle.fd(30)
 turtle.right(90)
 turtle.fd(30)
 
 timer = threading.Timer(0.1, Tick) # 利用多線程庫定時(shí)刷新
 timer.start()

最后定義一個(gè)入口函數(shù):

def mian():
 turtle.hideturtle() # 隱藏畫筆
 turtle.speed(0) # 最快
 turtle.tracer(0)
 turtle.pu()
 turtle.fd(-300)
 Tick()
 turtle.done()
# Python turtle模塊的海龜作圖,由于需要展示海龜運(yùn)動(dòng)的過程,缺省狀態(tài)下,對(duì)作圖進(jìn)行了延遲處理,
# 致使復(fù)雜圖形的繪制速度過慢,可以用如下方法取消延遲,加速繪圖:
# 在繪圖之前調(diào)用tracer
# turtle.tracer(0)
# 在繪圖結(jié)束時(shí)調(diào)用update
# turtle.update()
 
mian()

最終效果:

代碼寫好后,可以打包成一個(gè)可執(zhí)行文件,這里需要用到第三方庫PyInstaller;安裝第三方庫Python封裝了包管理工具pip(確保安裝時(shí)勾選了pip和Add python.exe to Path)。這里我用在線安裝的方式,在cmd窗口直接運(yùn)行:pip install 包名,如 pip install pyInstaller,注意:這種方式安裝時(shí)會(huì)自動(dòng)下載第三方庫,安裝完成后并不會(huì)刪除,如需刪除請(qǐng)到它的默認(rèn)下載路徑下手動(dòng)刪除。(win7的默認(rèn)路徑://AppData可能是隱藏文件夾 c:\用戶\(你的用戶名)\AppData\Local\pip\cache\ linux的默認(rèn)路徑: ~/.cache/pip)

耐心等待下載并安裝后,就可以使用PyInstaller了,在需要打包的文件目錄下運(yùn)行pyinstaller -F指令:

打包后生成獨(dú)立執(zhí)行文件time.exe:

打包時(shí)還可以通過–icon指令設(shè)置指定的圖標(biāo),還有更多指令等以后用到的時(shí)候再研究。用了一段時(shí)間的Python,因?yàn)檎Z法簡(jiǎn)潔所以代碼的縮進(jìn)很重要,這也算是一個(gè)小坑吧,不過熟能生巧,還需多多練習(xí)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python+NumPy繪制常見曲線的方法詳解

    Python+NumPy繪制常見曲線的方法詳解

    NumPy(Numerical Python)是Python的一種開源的數(shù)值計(jì)算擴(kuò)展。本文將利用NumPy庫繪制利薩茹曲線、計(jì)算斐波那契數(shù)列、方波和鋸齒波和三角波,需要的可以參考一下
    2022-06-06
  • Python實(shí)現(xiàn)批量Excel拆分功能

    Python實(shí)現(xiàn)批量Excel拆分功能

    在日常辦公中,我們經(jīng)常需要將包含多個(gè)Sheet頁的Excel文件拆分成多個(gè)獨(dú)立的Excel文件,下面我們就來看看如何使用Python實(shí)現(xiàn)批量Excel拆分的功能吧
    2025-02-02
  • python多進(jìn)程 主進(jìn)程和子進(jìn)程間共享和不共享全局變量實(shí)例

    python多進(jìn)程 主進(jìn)程和子進(jìn)程間共享和不共享全局變量實(shí)例

    這篇文章主要介紹了python多進(jìn)程 主進(jìn)程和子進(jìn)程間共享和不共享全局變量實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python編程中對(duì)文件和存儲(chǔ)器的讀寫示例

    Python編程中對(duì)文件和存儲(chǔ)器的讀寫示例

    這篇文章主要介紹了Python編程中對(duì)文件和存儲(chǔ)器的讀寫示例,包括使用cPickle儲(chǔ)存器存儲(chǔ)對(duì)象的例子,需要的朋友可以參考下
    2016-01-01
  • 兒童學(xué)習(xí)python的一些小技巧

    兒童學(xué)習(xí)python的一些小技巧

    這篇文章給大家總結(jié)了關(guān)于兒童學(xué)python的一些技巧和知識(shí)點(diǎn),對(duì)此有興趣的朋友可以跟著學(xué)習(xí)下。
    2018-05-05
  • Django+boostrap 美化admin后臺(tái)的操作

    Django+boostrap 美化admin后臺(tái)的操作

    這篇文章主要介紹了Django+boostrap 美化admin后臺(tái)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python雙鏈表原理與實(shí)現(xiàn)方法詳解

    Python雙鏈表原理與實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Python雙鏈表原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了Python雙鏈表的概念、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • Python osgeo庫安裝失敗問題的解決方案

    Python osgeo庫安裝失敗問題的解決方案

    Osgeo是一個(gè)支持開源地理空間數(shù)據(jù)處理的基金會(huì),我們可以在python中使用“osgeo”庫來訪問其提供的高效地理空間數(shù)據(jù),在PyCharm安裝osgeo庫的時(shí)候,顯示報(bào)錯(cuò),所以本文記錄一下解決這個(gè)麻煩的步驟,需要的朋友可以參考下
    2025-04-04
  • Python爬蟲必備之Xpath簡(jiǎn)介及實(shí)例講解

    Python爬蟲必備之Xpath簡(jiǎn)介及實(shí)例講解

    xpath是一種在XML文檔中定位元素的語言,常用于xml、html文件解析,比css選擇器使用方便,下面這篇文章主要給大家介紹了關(guān)于Python爬蟲必備之Xpath簡(jiǎn)介及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • python獲取指定時(shí)間段內(nèi)特定規(guī)律的日期列表

    python獲取指定時(shí)間段內(nèi)特定規(guī)律的日期列表

    這篇文章主要介紹了python獲取指定時(shí)間段內(nèi)特定規(guī)律的日期列表,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04

最新評(píng)論

自治县| 平利县| 鄂托克旗| 元朗区| 潜江市| 葵青区| 通河县| 无极县| 恩施市| 康马县| 伊通| 彰武县| 柳江县| 庆阳市| 河西区| 北辰区| 吉首市| 白河县| 民县| 潍坊市| 临泉县| 广东省| 东乌珠穆沁旗| 肃宁县| 柘荣县| 合阳县| 滨海县| 嘉义县| 易门县| 嘉峪关市| 高邮市| 什邡市| 云龙县| 曲靖市| 休宁县| 尚义县| 麻栗坡县| 保靖县| 民乐县| 石棉县| 呼伦贝尔市|