摘要:裝飾器的使用使用一個(gè)裝飾器查看任意函數(shù)除遞歸函數(shù)運(yùn)行時(shí)間分按時(shí)間順序輸出歌詞傳奇作詞劉兵作曲李健演唱王菲只是因?yàn)樵谌巳褐卸嗫戳四阋谎墼僖矝](méi)能忘掉你容顏夢(mèng)想著偶然能有一天再相見(jiàn)從此我開(kāi)始孤單思念想你時(shí)你在天邊想你時(shí)你在眼前想你時(shí)你在
裝飾器的使用
使用一個(gè)裝飾器,查看任意函數(shù)(除遞歸函數(shù))運(yùn)行時(shí)間(20分)
import time # --exeTime def exeTime(func): def newFunc(*args, **kwargs): t0 = time.time() print("@%s, {%s} start" % (time.strftime("%X", time.localtime()), func.__name__)) back = func(*args, **kwargs) print("@%s, {%s} end" % (time.strftime("%X", time.localtime()), func.__name__)) print("@%.3fs taken for {%s}" % (time.time() - t0, func.__name__)) return back return newFunc # --end of exeTime @exeTime def foo(): for i in range(10000000): pass if __name__ == "__main__": foo()按時(shí)間順序輸出歌詞
musicLrc = """[00:03.50]傳奇
[00:19.10]作詞:劉兵 作曲:李健
[00:20.60]演唱:王菲
[00:26.60]
04:40.75[00:36.25]只是因?yàn)樵谌巳褐卸嗫戳四阋谎?br>[04:49.00]
02:47.44再也沒(méi)能忘掉你容顏
02:54.83夢(mèng)想著偶然能有一天再相見(jiàn)
03:02.32從此我開(kāi)始孤單思念
03:08.15
03:09.35想你時(shí)你在天邊
03:16.90想你時(shí)你在眼前
03:24.42想你時(shí)你在腦海
03:31.85想你時(shí)你在心田
03:38.67
04:09.96[01:36.25]寧愿相信我們前世有約
04:16.37[01:42.47]今生的愛(ài)情故事 不會(huì)再改變
04:24.82[01:51.18]寧愿用這一生等你發(fā)現(xiàn)
04:31.38[01:57.43]我一直在你身旁 從未走遠(yuǎn)
04:39.55[02:07.85]
"""
# 方法一 import time dict1 = {} list_key = [] music_list1 = musicLrc.splitlines() for i in music_list1: music_list2 = i.split("]") # ["[04:40.75", "[02:39.90", "[00:36.25", "只是因?yàn)樵谌巳褐卸嗫戳四阋谎?] for j in range(len(music_list2)-1): list2 = music_list2[j][1:].split(":") # [1:] 是為了去掉[ 獲得完整時(shí)間 times = float(list2[0])*60 + float(list2[1]) dict1[times] = music_list2[-1] d = sorted(dict1.items(), key = lambda x:x[0]) # 返回一個(gè) # print(d) start_time = time.clock() for key in d: tmp = round(key[0],2) tmp_min = tmp//60 tmp_sec = (tmp//1)%60 tmp_ms = (tmp*100//1)%100 while True: end_time = time.clock() if round(end_time,2) == tmp: print("[%02.0f:%02.0f.%02.0f%s]"%(tmp_min,tmp_sec,tmp_ms,key[1])) break # 方法二 import time #通過(guò)]來(lái)得知總共需要打印多少歌詞 counter = musicLrc.count("]") #分行切割 list1 = musicLrc.splitlines() # num是計(jì)算打了多少行數(shù)據(jù)了 num = 0 #標(biāo)記位 time_self_flag = 0 #開(kāi)始 start_time = time.clock() while True: end_time = time.clock() #獲取分鐘 end_time_min = end_time//60 #獲取秒鐘 end_time_sec = (end_time//1)%60 #獲取微妙 end_time_ms = (end_time*100//1)%100 #將時(shí)間按照 [時(shí):分:秒 復(fù)制給變量time_self1 time_self1 = "[%02.0f:%02.0f.%02.0f" % (end_time_min, end_time_sec, end_time_ms) #這里進(jìn)行判斷,是為了避免在同一時(shí)間對(duì)所有歌詞判斷多遍 if time_self1 != time_self_flag: time_self_flag = time_self1 # print(time_self1) for i in list1: list2 = i.split("]") for j in list2: #時(shí)間戳 與 歌詞時(shí)間進(jìn)行對(duì)比,相同則打印,不同則推出 if j == time_self1: print(j+"]"+list2[-1]) num += 1 break #打印完所有歌詞,則退出while循環(huán) if num == counter: break
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41660.html
摘要:笨辦法學(xué)第版結(jié)構(gòu)非常簡(jiǎn)單,共包括個(gè)習(xí)題,其中個(gè)覆蓋了輸入輸出變量和函數(shù)三個(gè)主題,另外個(gè)覆蓋了一些比較高級(jí)的話題,如條件判斷循環(huán)類(lèi)和對(duì)象代碼測(cè)試及項(xiàng)目的實(shí)現(xiàn)等。最后只想說(shuō),學(xué)習(xí)不會(huì)辜負(fù)任何人,笨辦法學(xué) 內(nèi)容簡(jiǎn)介 《笨辦法學(xué)Python(第3版)》是一本Python入門(mén)書(shū)籍,適合對(duì)計(jì)...
摘要:每個(gè)模塊都有對(duì)應(yīng)的分支內(nèi)容,并且分支內(nèi)容都分為參考資料練習(xí)題交流討論三個(gè)內(nèi)容,我最喜歡的是練習(xí)題,之前都是非正規(guī)軍的學(xué)習(xí),沒(méi)有系統(tǒng)訓(xùn)練過(guò),現(xiàn)在有技能樹(shù)測(cè)評(píng)終于可以把之前散亂的知識(shí)點(diǎn)總結(jié)在一起了。祝大家都能在技能樹(shù)測(cè)評(píng)判斷自己在哪個(gè)級(jí)別的。 通過(guò)《Python技能樹(shù)測(cè)評(píng)》判斷自己在哪個(gè)級(jí)別: ...
摘要:按照下面的格式打印的數(shù)字以及每個(gè)數(shù)的平方幾何級(jí)數(shù)和階乘。分方法一設(shè)計(jì)一個(gè)函數(shù),統(tǒng)計(jì)一個(gè)字符串中出現(xiàn)頻率最高的字符及其出現(xiàn)次數(shù)分。分筒條萬(wàn)王寶強(qiáng)賈乃亮馬伊琍陳羽凡洗牌發(fā)牌第一個(gè)人多發(fā)一張牌的牌是筒條萬(wàn)筒筒條條萬(wàn)萬(wàn)筒條萬(wàn) 按照下面的格式打印1~10的數(shù)字以及每個(gè)數(shù)的平方、幾何級(jí)數(shù)和階乘。(5分) 數(shù)字 平方 幾何級(jí)數(shù) 階乘 1 1 2 1 2 4 4 2 3 9 8 6...
摘要:微積分微積分的課程我們也同樣是推薦和的課程。還有一個(gè)斯坦福大學(xué)的統(tǒng)計(jì)學(xué)習(xí)入門(mén)英文字幕相當(dāng)不錯(cuò)。所以,除了繪制數(shù)學(xué)圖形外,學(xué)習(xí)數(shù)學(xué)就應(yīng)該完全與編程有機(jī)結(jié)合。 無(wú)論是三大數(shù)學(xué)軟件Matlab(通信、控制等工程例外)、Maple、Mathematica,還是三大統(tǒng)計(jì)軟件Spass、Stata、SAS,這些可視化的軟件本身就是編程的一個(gè)體現(xiàn),它們?cè)谝欢ǔ潭壬辖档土宋覀兪褂脭?shù)學(xué)的門(mén)檻,但另一方面...
摘要:你想學(xué)習(xí)嗎你知道技能樹(shù)嗎技能樹(shù)是提供的系統(tǒng)化,面向?qū)崙?zhàn)的學(xué)習(xí)環(huán)境。如果你是初學(xué)者請(qǐng)馬上開(kāi)始學(xué)習(xí),你最終可以獲得的技能認(rèn)證。學(xué)習(xí)到任何一階段的同學(xué)們都可以輕松加入技能樹(shù)的學(xué)習(xí),所以你要學(xué)習(xí)就請(qǐng)趕快加入吧。 python 是一種很流行的高級(jí)動(dòng)態(tài)語(yǔ)言。編程語(yǔ)言的的排行可以參考TIOBE。當(dāng)然如果從...
閱讀 3958·2021-10-19 13:23
閱讀 2337·2021-09-09 11:37
閱讀 2520·2019-08-29 15:20
閱讀 3414·2019-08-29 11:08
閱讀 1676·2019-08-26 18:27
閱讀 1774·2019-08-23 12:20
閱讀 3041·2019-08-23 11:54
閱讀 2558·2019-08-22 15:19