成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

每天學(xué)點(diǎn)Python Cookbook(四)

xiaoxiaozi / 2685人閱讀

摘要:解決方案通過(guò)標(biāo)準(zhǔn)庫(kù)的模塊,可以快速完成此任務(wù)。測(cè)試結(jié)果計(jì)算日期之間的時(shí)段任務(wù)給定兩個(gè)日期,計(jì)算這兩個(gè)日期之間隔了幾天。此方法也有諸多限制,時(shí)間格式是固定的,計(jì)算量大時(shí)效率很低。

1.尋找上一個(gè)星期五

任務(wù):
尋找上一個(gè)星期五的日期。

解決方案:
通過(guò)python標(biāo)準(zhǔn)庫(kù)的datetime模塊,可以快速完成此任務(wù)。

import datetime, calendar

def find_last_Friday():
    last_Friday = datetime.date.today()
    oneday = datetime.timedelta(days=1)
    while last_Friday.weekday() != calendar.FRIDAY:
        last_Friday -= oneday
    print(last_Friday)

測(cè)試結(jié)果:


2.計(jì)算日期之間的時(shí)段

任務(wù):
給定兩個(gè)日期,計(jì)算這兩個(gè)日期之間隔了幾天。

解決方案:

def calc_date_time(start_time,end_time):
    count = 0
    oneday = datetime.timedelta(days=1)
    start_time = datetime.datetime.strptime(start_time,"%Y-%m-%d")
    end_time = datetime.datetime.strptime(end_time,"%Y-%m-%d")
    while start_time != end_time:
        start_time += oneday
        count += 1
    return count

測(cè)試用例:

if __name__ == "__main__":
    # find_last_Friday()
    start_time = "2018-05-07"
    end_time = "2018-06-01"
    print(calc_date_time(start_time,end_time))

測(cè)試結(jié)果:

討論:
此實(shí)現(xiàn)方法有一個(gè)bug,沒(méi)法實(shí)現(xiàn)一年以上的計(jì)算會(huì)造成越界錯(cuò)誤。此方法也有諸多限制,時(shí)間格式是固定的,計(jì)算量大時(shí)效率很低。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41702.html

相關(guān)文章

  • 每天學(xué)點(diǎn)Python Cookbook(五)

    摘要:三行代碼的快速排序任務(wù)你想證明,對(duì)函數(shù)式編程范式的支持比第一眼看上去的印象強(qiáng)多了。解決方案測(cè)試用例測(cè)試結(jié)果 1. 三行代碼的快速排序 任務(wù):你想證明,Python對(duì)函數(shù)式編程范式的支持比第一眼看上去的印象強(qiáng)多了。 解決方案: def quick_sort(l): if len(l) = l[0]]) 測(cè)試用例: if __name__ == __main__: l =...

    ybak 評(píng)論0 收藏0
  • 每天學(xué)點(diǎn)Python Cookbook(三)

    摘要:計(jì)算文件的行數(shù)任務(wù)需要計(jì)算一個(gè)文件中有多少行。解決方案用方法再加循環(huán)計(jì)數(shù)進(jìn)行統(tǒng)計(jì),具體代碼如下測(cè)試用例定義一個(gè)函數(shù),向文件中寫(xiě)入數(shù)字,每十個(gè)換一次行。 1.計(jì)算文件的行數(shù) 任務(wù):需要計(jì)算一個(gè)文件中有多少行。 解決方案:用enumerate()方法再加循環(huán)計(jì)數(shù)進(jìn)行統(tǒng)計(jì),具體代碼如下: def get_filelines(file_name): count = 0 f = ...

    TANKING 評(píng)論0 收藏0
  • 每天學(xué)點(diǎn)Python Cookbook(一)

    摘要:對(duì)字典排序任務(wù)對(duì)字典進(jìn)行排序,這意味著需要根據(jù)字典的鍵排序,然后再讓對(duì)應(yīng)的值也處于同樣的順序。測(cè)試用例下雨天晴天陰天測(cè)試結(jié)果討論在最后的語(yǔ)句中,將列表推導(dǎo)式換成對(duì)的調(diào)用可以獲得一些速度上的提升大約。 1.對(duì)字典排序 任務(wù):對(duì)字典進(jìn)行排序,這意味著需要根據(jù)字典的鍵排序,然后再讓對(duì)應(yīng)的值也處于同樣的順序。 解決方案:最簡(jiǎn)單的方法是,先將鍵排序,然后選出對(duì)應(yīng)值。 def sort_dict(...

    wslongchen 評(píng)論0 收藏0
  • 每天學(xué)點(diǎn)Python Cookbook(二)

    摘要:過(guò)濾字符串中不屬于指定集合的字符任務(wù)給定一個(gè)需要保留的字符的集合,構(gòu)建一個(gè)過(guò)濾函數(shù),并可將其應(yīng)用于任何字符串,函數(shù)返回一個(gè)的拷貝,該拷貝只包含指定字符集合中的元素。用方法用于創(chuàng)建字符映射的轉(zhuǎn)換表,具體代碼如下測(cè)試用例測(cè)試結(jié)果 1.過(guò)濾字符串中不屬于指定集合的字符 任務(wù):給定一個(gè)需要保留的字符的集合,構(gòu)建一個(gè)過(guò)濾函數(shù),并可將其應(yīng)用于任何字符串s,函數(shù)返回一個(gè)s的拷貝,該拷貝只包含指定字...

    GitChat 評(píng)論0 收藏0
  • 趁著課余時(shí)間學(xué)點(diǎn)Python(十)文件操作

    摘要:我是布小禪,一枚自學(xué)萌新,跟著我每天進(jìn)步一點(diǎn)點(diǎn)吧說(shuō)了這么多暫時(shí)也就夠了,那么就告辭吧 文章目錄 ?? 前言 ??? 作者簡(jiǎn)介 ??文件操作?1??、open函數(shù)...

    abson 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<