本文實(shí)例為大家分享了python實(shí)現(xiàn)日歷效果的具體代碼,供大家參考,具體內(nèi)容如下
一、代碼編程過程
1、根據(jù)年月日算出星期幾
def get_week_with_data(y,m,d):
'''根據(jù)年月日計(jì)算星期幾'''
y = y - 1 if m == 1 or m == 2 else y
m = 13 if m == 1 else (14 if m == 2 else m)
w = (d + 2 * m + 3 * (m + 1) // 5 + y + y // 4 - y // 100 + y // 400) % 7 + 1
return w
2、判斷年份是否是閏年
def is_leap_year(y):
if y%400==0 or (y%4==0 and y%100!=0):
return True
return False
3、根據(jù)月份判斷天數(shù)
def get_days_in_month(y,m):
if m in [1, 3, 5, 7, 8, 10, 12]:
return 31
elif m in [4, 6, 9, 11]:
return 30
else:
return 29 if is_leap_year(y) else 28
4、根據(jù)用戶輸入年份和月份,自動(dòng)生成一個(gè)日歷
'''1.提示用戶輸入年月'''
year=int(input("請(qǐng)輸入年份:"))
mouth=int(input("請(qǐng)輸入月份:"))
'''2.計(jì)算這個(gè)月有多少天'''
days=get_days_in_month(year,mouth)
'''3.按照指定格式顯示日期'''
print('一 二 三 四 五 六 日')
print('-'*20)
for i in range(1,days+1):
w=get_week_with_data(year,mouth,i)
if i==1:
print(f"{' '*(w-1)*3}",end="")
else:
if w==1:
print("")
print(f"{i:2d}",end=' ')
print("")
二、代碼運(yùn)行效果圖
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Python使用py2neo操作圖數(shù)據(jù)庫neo4j的方法詳解
- python利用文件讀寫編寫一個(gè)博客
- Python爬蟲技術(shù)
- 詳解python關(guān)于多級(jí)包之間的引用問題
- 一些讓Python代碼簡潔的實(shí)用技巧總結(jié)
- Python學(xué)習(xí)開發(fā)之圖形用戶界面詳解
- Python使用Py2neo創(chuàng)建Neo4j的節(jié)點(diǎn)、關(guān)系及路徑