利用python實(shí)現(xiàn)萬(wàn)年歷的查詢(xún)
今天要用python做一個(gè)小功能,那就是實(shí)現(xiàn)萬(wàn)年歷的查詢(xún)。
首先看一下整體感覺(jué)

實(shí)現(xiàn)代碼:
def is_leap_year(year):
if year/4==0 and year/400 !=0:
return True
elif year/100 == 0 and year/400 ==0 :
return True
else:
return False
首先判斷是否是閏年,因?yàn)橛?jì)算2月是否有29天有用。
def getMonthDays(year,month):
days = 31 #31天居多,設(shè)置為默認(rèn)值
if month == 2 : #2月份要判斷是否是閏年
if is_leap_year(year):
days=29
else:
days=28;
elif month in [4,6,9,11]: #判斷小月,只有30天
days=30
return days
由年和月份獲取指定年月的月份有多少天。
def getTotalDays(year,month):
totalDays=0
for i in range(1990,year): #使用range來(lái)循環(huán),算出多少年多少天
if is_leap_year(i): #判斷是否是閏年
totalDays += 366
else:
totalDays += 365
for i in range(1,month): #使用range循環(huán),算出今年前面幾個(gè)月過(guò)了多少天
totalDays +=getMonthDays(year,i)
return totalDays
獲取1990-01-01離現(xiàn)在有多少天,1990-01-01是星期一,以這個(gè)為標(biāo)準(zhǔn)來(lái)判斷。
if __name__ == '__main__':
while True:
print "××××××××××python實(shí)現(xiàn)萬(wàn)年歷××××××××"
year = raw_input("請(qǐng)輸入年份(如:1990):")
month = raw_input("請(qǐng)輸入月份:如:1")
try:
year = int(year)
month = int(month)
if month <1 or month >1:
print "年份或者月份輸入錯(cuò)誤,請(qǐng)重新輸入!"
continue
except:
print "年份或者月份輸入錯(cuò)誤,請(qǐng)重新輸入!"
continue
break
print "日\(chéng)t一\t二\t三\t四\t五\t六"
iCount = 0 #計(jì)數(shù)器來(lái)判斷是否換行
for i in range(getTotalDays(year,month)%7):
print '\t', #輸出空不換行
iCount+=1
for i in range(1,getMonthDays(year,month)):
print i,
print '\t',
iCount +=1
if iCount%7 == 0 : #計(jì)數(shù)器取余為0,換行
print ''
最后只需要輸入年份和月份,就能把完整的整個(gè)月份的日歷打出來(lái)。無(wú)論是查詢(xún)以前的日歷還是查詢(xún)未來(lái)的日歷,都是可以計(jì)算出來(lái)的。
到此這篇關(guān)于利用python實(shí)現(xiàn)萬(wàn)年歷的查詢(xún)的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)萬(wàn)年歷的查詢(xún)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue.js實(shí)現(xiàn)輸入框輸入值內(nèi)容實(shí)時(shí)響應(yīng)變化示例
這篇文章主要介紹了vue.js實(shí)現(xiàn)輸入框輸入值內(nèi)容實(shí)時(shí)響應(yīng)變化,結(jié)合實(shí)例形式分析了vue.js使用v-model屬性進(jìn)行數(shù)據(jù)綁定的相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
小白入門(mén)篇使用Python搭建點(diǎn)擊率預(yù)估模型
本文將從零開(kāi)始,僅僅利用基礎(chǔ)的numpy庫(kù),使用Python實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)(或者說(shuō)是簡(jiǎn)易的LR,因?yàn)長(zhǎng)R就是一個(gè)單層的神經(jīng)網(wǎng)絡(luò)),解決一個(gè)點(diǎn)擊率預(yù)估的問(wèn)題。感興趣的朋友跟隨小白一起看看吧2018-10-10
python 拷貝特定后綴名文件,并保留原始目錄結(jié)構(gòu)的實(shí)例
下面小編就為大家分享一篇python 拷貝特定后綴名文件,并保留原始目錄結(jié)構(gòu)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
解決Jupyter-notebook不彈出默認(rèn)瀏覽器的問(wèn)題
這篇文章主要介紹了解決Jupyter-notebook不彈出默認(rèn)瀏覽器的問(wèn)題,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Numpy數(shù)組的轉(zhuǎn)置和軸交換的實(shí)現(xiàn)
本文主要介紹了Numpy數(shù)組的轉(zhuǎn)置和軸交換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Pytorch使用技巧之Dataloader中的collate_fn參數(shù)詳析
collate_fn 參數(shù)的目的主要是為了隨心所欲的轉(zhuǎn)變數(shù)據(jù)的類(lèi)型,這個(gè)數(shù)據(jù)是用DataLoader加載的,比如img,target,下面這篇文章主要給大家介紹了關(guān)于Pytorch使用技巧之Dataloader中的collate_fn參數(shù)的相關(guān)資料,需要的朋友可以參考下2022-03-03
http請(qǐng)求 request失敗自動(dòng)重新嘗試代碼示例
這篇文章主要介紹了http請(qǐng)求 request失敗自動(dòng)重新嘗試代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01

