導航:首頁 > 編程語言 > 即時動態時鍾設計python

即時動態時鍾設計python

發布時間:2023-01-31 05:13:19

① 求python大佬

# 求分針與時針之間的夾角


a = input()

h, m = map(int, a.split(':'))


m_angle = m * 6

h_angle = h * 30 + m * 0.5


angle = abs(h_angle-m_angle)


angle = (360 - angle) if angle > 180 else angle

print(angle)

程序縮進如圖所示

② Python語言寫秒錶計時器的GUI的方法

tk就是最基礎的,一些好的你需要wxpython或qt。數字時鍾倒是可以實現

③ 樹莓派基礎實驗32:DS1302實時時鍾模塊實驗

  現在有很多流行的串列時鍾晶元,如DS1302,DS1307,PCF8485等,由於簡單的介面,低成本和易用性,他們被廣泛應用於電話、傳真、攜帶型儀器等產品領域。在本實驗中,我們將使用DS1302實時時鍾(RTC)模塊獲取當前日期和時間。

  DS1302可以用於數據記錄,特別是對某些具有特殊意義的數據點的記錄,能實現數據與出現該數據的時間同時記錄。這種記錄對長時間的連續測控系統結果的分析,及對異常數據出現的原因的查找具有重要意義。

  傳統的數據記錄方式是隔時采樣或定時采樣,沒有具體的時間記錄,因此,只能記錄數據而無法准確記錄其出現的時間;若採用單片機計時,一方面需要採用計數器,佔用硬體資源,另一方面需要設置中斷、查詢等,同樣耗費單片機的資源,而且,某些測控系統可能不允許。但是,如果在系統中採用時鍾晶元DS1302,則能很好地解決這個問題。

★Raspberry Pi 3主板*1

★樹莓派電源*1

★40P軟排線*1

★DS1302實時時鍾模塊*1

★麵包板*1

★跳線若干

  DS1302是DALLAS(達拉斯)公司出的一款涓流充電時鍾晶元,2001年DALLAS被MAXIM(美信)收購。
  DS1302實時時鍾晶元廣泛應用於電話、傳真、攜帶型儀器等產品領域,他的主要性能指標如下:
  1、DS1302是一個實時時鍾晶元,可以提供秒、分、小時、日期、月、年等信息,並且還有軟年自動調整的能力,可以通過配置AM/PM來決定採用24小時格式還是12小時格式。
  2、擁有31位元組數據存儲RAM。
  3、串列I/O通信方式,相對並行來說比較節省IO口的使用。
  4、DS1302的工作電壓比較寬,大概是2.0V~5.5V都可以正常工作。
  5、DS1302這種時鍾晶元功耗一般都很低,它在工作電壓2.0V的時候,工作電流小於300nA。
  6、DS1302共有8個引腳,有兩種封裝形式,一種是DIP-8封裝,晶元寬度(不含引腳)是300mil,一種是SOP-8封裝,有兩 種寬度,一種是150mil,一種是208mil。我們看一下DS1302的引腳封裝圖:

  7、當供電電壓是5V的時候,兼容標準的TTL電平標准,這里的意思是,可以完美的和單片機進行通信。
   8、由於DS1302是DS1202的升級版本,所以所有的功能都兼容DS1202。此外DS1302有兩個電源輸入,一個是主電源, 另外一個是備用電源,比如可以用電池或者大電容,這樣是為了保證系統掉電的情況下,我們的時鍾還會繼續走。如果使用的是充電電池,還可以在正常工作時,設置充電功能,給我們的備用電池進行充電。

  DS1302的特點第二條「擁有31位元組數據存儲RAM」,這是DS1302額外存在的資源。這31位元組的RAM相當於一個存儲器一樣,我們編寫單片機程序的時候,可以把我們想存儲的數據存儲在DS1302里邊,需要的時候讀出來,這塊功能和EEPROM有點類似,相當於一個掉電丟失數據的「EEPROM」,如果我們的時鍾電路加上備用電池,那麼這31個位元組的RAM就可以替代EEPROM的功能了。

  DS1302一共有8個引腳,下邊要根據引腳分布圖和典型電路圖來介紹一下每個引腳的功能:

  DS1302的電路一個重點就是時鍾電路,它所使用的晶振是一個32.768k的晶振,晶振外部也不需要額外添加其他的電容或者電阻電路了。時鍾的精度,首先取決於晶振的精度以及晶振的引腳負載電容。如果晶振不準或者負載電容過大過小,都會導致時鍾誤差過大。在這一切都搞定後,最終一個考慮因素是晶振的溫漂。隨著溫度的變化,晶振往往精度會發生變化,因此,在實際的系統中,其中一種方法就是經常校對。比如我們所用的電腦的時鍾,通常我們會設置一個選項「將計算機設置於internet時間同步」。選中這個選項後,一般可以過一段時間,我們的計算機就會和internet時間校準同步一次。

  對DS1302的操作就是對其內部寄存器的操作,DS1302內部共有12個寄存器,其中有7個寄存器與日歷、時鍾相關,存放的數據位為BCD碼形式。此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鍾突發寄存器及與RAM相關的寄存器等。時鍾突發寄存器可一次性順序讀/寫除充電寄存器以外的寄存器。

  DS1302的一條指令一個位元組8位,其中第7位(即最高位)是固定1,這一位如果是0的話,那寫進去是無效的。第6位是選擇RAM還是CLOCK的,這里主要講CLOCK時鍾的使用,它的RAM功能我們不用,所以如果選擇CLOCK功能,第6位是0,如果要用RAM,那第6位就是1。從第5到第1位,決定了寄存器的5位地址,而第0位是讀寫位,如果要寫,這一位就是0,如果要讀,這一位就是1。

  DS1302時鍾的寄存器,其中8個和時鍾有關的,5位地址分別是00000一直到00111這8個地址,還有一個寄存器的地址是01000,這是涓流充電所用的寄存器,我們這里不講。在DS1302的數據手冊里的地址,直接把第7位、第6位和第0位值給出來了,所以指令就成了80H、81H那些了,最低位是1,那麼表示讀,最低位是0表示寫。

  寄存器一:最高位CH是一個時鍾停止標志位。如果我們的時鍾電路有備用電源部分,上電後,我們要先檢測一下這一位,如果這一位是0,那說明我們的時鍾在系統掉電後,由於備用電源的供給,時鍾是持續正常運行的;如果這一位是1,那麼說明我們的時鍾在系統掉電後,時鍾部分不工作了。若我們的Vcc1懸空或者是電池沒電了,當我們下次重新上電時,讀取這一位,那這一位就是1,我們可以通過這一位判斷時鍾在單片機系統掉電後是否持續運行。剩下的7位高3位是秒的十位,低4位是秒的個位,這里注意再提一次,DS1302內部是BCD碼,而秒的十位最大是5,所以3個二進制位就夠了。
  寄存器二:bit7沒意義,剩下的7位高3位是分鍾的十位,低4位是分鍾的個位。
  寄存器三:bit7是1的話代表是12小時制,是0的話代表是24小時制,bit6固定是0,bit5在12小時制下0代表的是上午,1代表的是下午,在24小時制下和bit4一起代表了小時的十位,低4位代表的是小時的個位。
  寄存器四:高2位固定是0,bit5和bit4是日期的十位,低4位是日期的個位。
  寄存器五:高3位固定是0,bit4是月的十位,低4位是月的個位。
  寄存器六:高5位固定是0,低3位代表了星期。
  寄存器七:高4位代表了年的十位,低4位代表了年的個位。這里特別注意,這里的00到99年指的是2000年到2099年。
  寄存器八:bit7是一個保護位,如果這一位是1,那麼是禁止給任何其他的寄存器或者那31個位元組的RAM寫數據的。因此在寫數據之前,這一位必須先寫成0。

   物理上,DS1302的通信介面由3個口線組成,即RST,SCLK,I/O。其中RST從低電平變成高電平啟動一次數據傳輸過程,SCLK是時鍾線,I/O是數據線。這個DS1302的通信線定義和SPI很像,事實上,DS1302的通信是SPI的變異種類,它用了SPI的通信時序,但是通信的時候沒有完全按照SPI的規則來,下面我們介紹DS1302的變異SPI通信方式。

  請注意數據是對時鍾信號敏感的,而且一般數據是在下降沿寫入,上升沿讀出。平時SCLK保持低電平,當需要寫命令或者寫數據時,在時鍾輸出變為高電平之前先輸出數據;當需要讀數據時,在時鍾輸出變為高電平之前采樣讀取數據。

   第1步: 連接電路。

   第2步: DS1302的Python程序比較復雜,我們先編寫一個模塊ds1302.py,在裡面創建一個類DS1302(),在裡面編寫讀取時鍾信息等方法。

   第3步: 編寫實際控製程序,導入上面的模塊ds1302。運行本文件,不斷循環讀取並列印時鍾信息。

  實驗結果示例:

④ 用python寫個時鍾程序

雙擊文件在cmd窗口就可以動態顯示時間

import time
import os


while True:
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))
time.sleep(1)
os.system('cls')

⑤ 如何使用Python讓某段程序固定在每天早上八點鍾開始運行

你在windows下根本不用這么麻煩:

首先,比如你的程序名字是 test.py
如果你想調用某個具體函數,就自己寫一個的文件,比如
import spider
spider.go()

然後,用系統at命令指定幾點幾分或者每個星期幾或者每個月的第幾個星期幾等執行某個程序。在執行程序的地方寫到:
c:\python25\python.exe myfile.py
這樣就可以了。

===================================

如果你覺得簡單的方法不好或者你要在其它系統下也可以用,那就這樣:

首先,寫一串代碼:大致意思如下,把_換成空格
import os,time,spider
while True:
__time.sleep(1)
__if time.ctime()[12:19]=="8:00:00" or time.ctime()[12:19]=="20:00:00" :
____spider.go() #舉個例子

然後,開機就執行這個文件。windows下可以把文件存為pyw然後開機啟動這樣沒有黑框。其它系統你愛怎麼樣都可以了(mac沒用過不知道)

⑥ Python測量程序運行時間,time.time與time.clock

現象描述:

1、time.clock 在win系統和linux系統下對相同程序的計時結果不一致

2、到底應該用什麼時間計時?為什麼用time.time與time.clock計時會有那麼大的差異

在計算機領域有多種時間。

第一種稱作CPU時間或執行時間,用於測量在執行一個程序時CPU所花費的時間。第二種稱作掛鍾時間,測量執行一個程序時的總時間。掛鍾時間也被稱作流逝時間或運行時間。與CPU時間相比,掛鍾時間通常長些,因為CPU執行測量的程序可能同時還在執行其它程序的指令。

另一個重要概念是所謂的系統時間,由系統時鍾測量。系統時間表示計算機系統時間傳遞的概念。要記住系統時鍾是可以由操作系統修改的,就是修改系統時間。

在Unix系統上,time.time的作用與Windows相同,但time.clock的意義不同。

在Unix系統上,time.clock以秒為單位返回當前處理器時間,例如,執行當前線程所花費的CPU時間。而在Windows上,它是以秒為單位的返回自首次調用該函數以來所流逝的系統時間。

以我遇到的Ubuntu系統上運行time.time和time.clock的例子:

time.time()顯示系統時間過去大概1秒,而time.clock()顯示花費在當前進程上的CPU時間只有於1毫秒。

而win下time.time()和time.clock()顯示系統時間都是大致過去了1秒

在測量程序准確性能時應該使用哪一個呢?

這要視情況而定。如果程序運行的系統能夠提供足夠的資源給程序,例如,一個運行基於Python的web應用程序的web伺服器,則使用time.clock()來測量程序會更有意義,因這個web應用程序可能是伺服器上的主要程序 。如果程序運行的系統上還同時運行著其它大量程序,則使用time.time()進行測量會更有意義。 如果不是這樣,就應該使用基於掛鍾的計時器來測量程序的性能,因為這樣通常能反應程序的環境。

放結論,一般情況下:

1、win用time.clock或time.time

2、linux 下用time.time  或 datetime.datetime.now().timestamp()

【1】(重要)https://blog.csdn.net/ao985438294363006/article/details/101349790    Python測量時間,用time.time還是time.clock 

⑦ python問題 求解

#python6.6
classClock:
def__init__(self,hour,minute,second):
self.h=hour
self.m=minute
self.s=second

defprintTime(self):
#{:+0填充+右對齊+固定寬度2+數據類型整數}
print("{:>2d}:{:0>2d}:{:0>2d}".format(self.h,self.m,self.s))

deftest():
hs=[8,9,10]
ms=[30,45,5]
ss=[0,15,49]

c1=Clock(hs[0],ms[0],ss[0])
c2=Clock(hs[1],ms[1],ss[1])
c3=Clock(hs[2],ms[2],ss[2])
c1.printTime()
c2.printTime()
c3.printTime()


if__name__=="__main__":
test()

我測試沒問題。

⑧ python怎麼計時

定義在默認的計時器中,針對不同平台採用不同方式。在Windows上,time.clock()具有微秒精度,但是time.time()精度是1/60s。在Unix上,time.clock()有1/100s精度,而且time.time()精度遠遠更高。在另外的平台上,default_timer()測量的是牆上時鍾時間,不是CPU時間。這意味著同一計算機的其他進程可能影響計時

版權聲明:

def clock(func):

def clocked(*args, **kwargs):

t0 = timeit.default_timer()

result = func(*args, **kwargs)

elapsed = timeit.default_timer()- t0

name = func.__name__

arg_str = ', '.join(repr(arg) for arg in args)

print('[%0.8fs] %s(%s) -> %r' % (elapsed, name, arg_str, result))

return result

return clocked

@clock

def run(seconds):

time.sleep(seconds)

return time

if __name__ == '__main__':

run(1)

本文為CSDN博主「FlyingPie」的原創文章,遵循CC 4.0 BY-SA版權協議,附上原文出處鏈接及聲明。

原文鏈接:https://blog.csdn.net/BobAuditore/article/details/79377679

⑨ 如何製作簡易的時鍾

用Python代碼實現簡易時鍾功能,主要有5步。
第一步:導入需要的依賴庫。
這裡面主要用到兩個庫:
(1)繪圖圖形庫:turtle
(2)日期時間庫:datetime
第二步:畫出時鍾刻度盤。
主要是將時鍾刻度的整點刻度畫出,同時將整點間進行五等分。
第三步:寫上當天年月日信息。
通過日期時間庫函數獲取年月日信息,然後寫在時鍾盤的中下方。
(1)獲取年月日信息。
(1)在時鍾盤的中下方顯示年月日信息。
第四步:畫出時針、分針、秒針,並動態刷新。
通過日期時間庫函數獲取時、分、秒信息,然後將時分秒信息轉化為時針、分針、秒針對應的顯示角度,最後在時鍾盤上畫出時針、分針、秒針,並每隔1S進行刷新。
(1)獲取時針、分針、秒針對應的顯示角度。
(1)畫出時針、分針、秒針,並每隔1S進行刷新。

⑩ python 時鍾嘀嗒數獲取

你可以試下下面的方式來取得當前時間的時間戳:
import time
print time.time()
輸出的結果是:
1279578704.6725271
但是這樣是一連串的數字不是我們想要的結果,我們可以利用time模塊的格式化時間的方法來處理:
time.localtime(time.time())
用time.localtime()方法,作用是格式化時間戳為本地的時間。
輸出的結果是:
time.struct_time(tm_year=2010, tm_mon=7, tm_mday=19, tm_hour=22, tm_min=33, tm_sec=39, tm_wday=0, tm_yday=200, tm_isdst=0)
現在看起來更有希望格式成我們想要的時間了。
time.strftime('%Y-%m-%d',time.localtime(time.time()))
最後用time.strftime()方法,把剛才的一大串信息格式化成我們想要的東西,現在的結果是:
2010-07-19
time.strftime裡面有很多參數,可以讓你能夠更隨意的輸出自己想要的東西:
下面是time.strftime的參數:
strftime(format[, tuple]) -> string
將指定的struct_time(默認為當前時間),根據指定的格式化字元串輸出
python中時間日期格式化符號:
%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 當前時區的名稱
%% %號本身

閱讀全文

與即時動態時鍾設計python相關的資料

熱點內容
有伺服器地址怎麼安裝軟體 瀏覽:659
安卓如何完全清除數據 瀏覽:690
安卓安卓證書怎麼信任 瀏覽:53
伺服器被攻擊如何解決 瀏覽:221
學霸變成程序員 瀏覽:881
c語言編譯錯誤fatalerror 瀏覽:441
ipv4內部伺服器地址怎麼分配 瀏覽:463
java線程安全的方法 瀏覽:950
重復命令畫梯形 瀏覽:164
在疫情就是命令 瀏覽:328
自己搭建一個什麼伺服器好玩 瀏覽:253
java基礎馬士兵 瀏覽:823
完美世界手游如何查看伺服器 瀏覽:859
光遇安卓與ios什麼時候互通 瀏覽:598
js如何運行時編譯 瀏覽:916
引力app在哪裡下載 瀏覽:609
編寫app如何得到錢 瀏覽:801
吉利汽車軟體放哪個文件夾安裝 瀏覽:223
多文件編譯c 瀏覽:542
頭頂加密後為什麼反而更稀疏 瀏覽:794