基于python實(shí)現(xiàn)簡(jiǎn)單日歷
本文實(shí)例為大家分享了python實(shí)現(xiàn)簡(jiǎn)單日歷的具體代碼,供大家參考,具體內(nèi)容如下
首先要理清楚邏輯,日歷的難點(diǎn)在于如何使用基礎(chǔ)知識(shí)將周幾與對(duì)應(yīng)的日期進(jìn)行對(duì)應(yīng),我這里利用了1917年1月1日為星期1,計(jì)算累計(jì)到我們要查詢的月份的天數(shù)來(lái)確定所查詢?cè)路莸牡谝惶鞛橹軒?
# 輸出日歷界面
print("*" * 50)
print("歡迎使用【天天日歷】v2.0")
# 接收用戶輸入的年份
year_int = int(input("請(qǐng)輸入年份:\n"))
# 定義全局變量用于記錄天數(shù)總和
sum = 0
if year_int >= 1917:
month_int = int(input("請(qǐng)輸入月份\n"))
for year_every in range(1917, year_int): # 遍歷從1917年到用戶輸入年份 用于計(jì)算到用戶所輸入年份共多少天
if (year_every % 4 == 0 and year_every % 100 != 0) or \
year_every % 400 == 0: # 如果是瑞年則366天否則平年365天
sum += 366
else:
sum += 365
for month_every in range(1, month_int): # 遍歷月份用于計(jì)算由1月份到用戶輸入月份的總天數(shù)
if month_every == 4 or month_every == 6 or \
month_every == 9 or month_every == 11:
sum += 30
elif month_every == 2:
if (year_int % 1 == 0 and year_int % 100 != 0) or \
year_int % 400 == 0:
sum += 29
else:
sum += 28
else:
sum += 31
# 定義變量用于定義每個(gè)月的天數(shù)
day = 0
# 定義變量 用于計(jì)算當(dāng)月第一天為周幾
weak = sum % 7
print("日\(chéng)t一\t二\t三\t四\t五\t六")
# 判斷用戶輸入月份為多少天
if month_int == 4 or month_int == 6 or month_int == 9 or month_int == 11:
day = 30
elif month_int == 2:
if (year_int % 4 == 0 and year_int % 100 != 0) or \
year_int % 400 == 0:
day = 29
else:
day = 28
else:
day = 31
# 輸出指定空格數(shù)讓第一天與周幾對(duì)齊
print("\t"*weak,end="")
i = 1
while i <= day: # 遍歷用戶查詢?cè)路?
weakend = ((sum+i)-1)% 7
# 如果余數(shù)為6 換行否則輸出空格
if weakend == 6:
print("%d" %i)
else:
print(i,end="\t")
i += 1
else:
print("系統(tǒng)正在維護(hù)暫時(shí)無(wú)法獲取1917年之前的信息")
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用python畫出邏輯斯蒂映射(logistic map)中的分叉圖案例
這篇文章主要介紹了使用python畫出邏輯斯蒂映射(logistic map)中的分叉圖案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
Python用正則表達(dá)式實(shí)現(xiàn)爬取古詩(shī)文網(wǎng)站信息
這篇文章主要給大家介紹了關(guān)于Python如何利用正則表達(dá)式爬取爬取古詩(shī)文網(wǎng)站信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12
Python實(shí)現(xiàn)將絕對(duì)URL替換成相對(duì)URL的方法
這篇文章主要介紹了Python實(shí)現(xiàn)將絕對(duì)URL替換成相對(duì)URL的方法,涉及Python字符串操作及正則匹配的相關(guān)技巧,需要的朋友可以參考下2015-06-06
使用Python構(gòu)建一個(gè)Hexo博客發(fā)布工具
雖然Hexo的命令行工具非常強(qiáng)大,但對(duì)于日常的博客撰寫和發(fā)布過(guò)程,我總覺得缺少一個(gè)直觀的圖形界面來(lái)簡(jiǎn)化操作,下面我們就來(lái)看看如何使用Python構(gòu)建一個(gè)Hexo博客發(fā)布工具吧2025-04-04
如何使用Python對(duì)Excel表格進(jìn)行拼接合并
這篇文章主要介紹了Python處理EXCEL基礎(chǔ)操作篇3用Python對(duì)Excel表格進(jìn)行拼接合并,文中提供了解決思路和部分實(shí)現(xiàn)代碼,需要的朋友可以參考下2023-03-03
詳解Python 多線程 Timer定時(shí)器/延遲執(zhí)行、Event事件
這篇文章主要介紹了Python 多線程 Timer定時(shí)器/延遲執(zhí)行、Event事件的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06

