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

實(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來循環(huán),算出多少年多少天
if is_leap_year(i): #判斷是否是閏年
totalDays += 366
else:
totalDays += 365
for i in range(1,month): #使用range循環(huán),算出今年前面幾個月過了多少天
totalDays +=getMonthDays(year,i)
return totalDays
獲取1990-01-01離現(xiàn)在有多少天,1990-01-01是星期一,以這個為標(biāo)準(zhǔn)來判斷。
if __name__ == '__main__':
while True:
print "××××××××××python實(shí)現(xiàn)萬年歷××××××××"
year = raw_input("請輸入年份(如:1990):")
month = raw_input("請輸入月份:如:1")
try:
year = int(year)
month = int(month)
if month <1 or month >1:
print "年份或者月份輸入錯誤,請重新輸入!"
continue
except:
print "年份或者月份輸入錯誤,請重新輸入!"
continue
break
print "日\t一\t二\t三\t四\t五\t六"
iCount = 0 #計(jì)數(shù)器來判斷是否換行
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 ''
最后只需要輸入年份和月份,就能把完整的整個月份的日歷打出來。無論是查詢以前的日歷還是查詢未來的日歷,都是可以計(jì)算出來的。
到此這篇關(guān)于利用python實(shí)現(xiàn)萬年歷的查詢的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)萬年歷的查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python使用rstrip函數(shù)刪除字符串末位字符
rstrip函數(shù)用于刪除字符串末位指定字符,默認(rèn)為空白符,這篇文章主要介紹了python使用rstrip函數(shù)刪除字符串末位字符的方法,需要的朋友可以參考下2023-04-04
Python進(jìn)行常見圖像形態(tài)學(xué)處理操作的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何使用Python進(jìn)行常見的圖像形態(tài)學(xué)處理,例如腐蝕、膨脹、禮帽、黑帽等,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
解決import tensorflow as tf 出錯的原因
這篇文章主要介紹了解決import tensorflow as tf 出錯的原因,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Python生成可執(zhí)行文件之PyInstaller庫的使用方式
PyInstaller是一個十分有用的第三方庫,通過對源文件打包,Python程序可以在沒有安裝Python的環(huán)境中運(yùn)行,也可以作為一個獨(dú)立文件方便傳遞和管理,下面這篇文章主要給大家介紹了關(guān)于Python生成可執(zhí)行文件之PyInstaller庫的使用方式,需要的朋友可以參考下2022-04-04
Python繪制分段函數(shù)的實(shí)現(xiàn)示例
本文主要介紹了Python繪制分段函數(shù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
conda創(chuàng)建環(huán)境過程出現(xiàn)"Solving?environment:?failed"報錯的詳細(xì)解
很長一段時間沒用conda了,然后突然使用conda創(chuàng)建環(huán)境報錯,所以下面這篇文章主要給大家介紹了關(guān)于conda創(chuàng)建環(huán)境過程出現(xiàn)"Solving?environment:?failed"報錯的詳細(xì)解決方法,需要的朋友可以參考下2022-11-11
Python?pomegranate庫實(shí)現(xiàn)基于貝葉斯網(wǎng)絡(luò)拼寫檢查器
這篇文章主要為大家介紹了Python?pomegranate庫實(shí)現(xiàn)基于貝葉斯網(wǎng)絡(luò)拼寫檢查器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2023-04-04
Scrapy基于selenium結(jié)合爬取淘寶的實(shí)例講解
今天小編就為大家分享一篇Scrapy基于selenium結(jié)合爬取淘寶的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06

