利用Python函數(shù)實(shí)現(xiàn)一個萬歷表完整示例
前言
大家可以根據(jù)格式化打印字符去調(diào)一下最后的輸出,不過有中文好像不好調(diào)整,可以換成星期的單詞,這樣應(yīng)該會好一點(diǎn),format()函數(shù)可以用來格式化打印字符,format()可以使用字符串去調(diào)用,也可以獨(dú)自使用。
可以點(diǎn)進(jìn)格式化打印字符了解一下哦
示例代碼
# 判斷是否閏年
def isleap(year):
return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
# 判斷月的天數(shù)
def month_days(year,month):
if month in [1,3,5,7,8,10,12]:
return 31
if month == 2:
if isleap(year):
return 29
else:
return 28
return 30
# 1900年到輸入年份的總天數(shù)
def total_days(year):
s = 0
for i in range(1900,year):
if isleap(i):
s += 366
else:
s += 365
return s
# 1月到輸入月份的天數(shù)
def days(year,month):
s = 0
for i in range(1,month):
s += month_days(year,i)
return s
# 獲取某年某月的日歷
def monthcalendar(year,month):
total = total_days(year) + days(year, month)
a = total % 7
print('星期日'.center(8, ' '), end='')
print('星期一'.center(8, ' '), end='')
print('星期二'.center(8, ' '), end='')
print('星期三'.center(8, ' '), end='')
print('星期四'.center(8, ' '), end='')
print('星期五'.center(8, ' '), end='')
print('星期六'.center(8, ' '), end='')
print()
count = 0
for i in range(0, month_days(year, month) + a + 1):
if i <= a:
print(format(' ','10'), end='')
count += 1
else:
print(format(str(i - a),'^10'), end='')
count += 1
if count == 7:
count = 0
print()
print()
# 輸出某年一年的日歷
def yearcalendar(year):
for i in range(1,13):
print(f'{i}月:')
monthcalendar(year,i)
print()
# 開始函數(shù)
def start():
while True:
print('-------歡迎來到萬歷表查詢頁面-------')
print('1.查詢某年的日歷\n2.查詢某年某月的日歷\n3.退出查詢')
print('---------------------------------')
n = int(input('請輸入你的操作:'))
if n == 1:
year = int(input('請輸入要查詢的年份:'))
yearcalendar(year)
elif n == 2:
year = int(input('請輸入要查詢的年份:'))
month = int(input('請輸入1-12:'))
monthcalendar(year,month)
elif n == 3:
print('退出成功')
break
else:
print('指令錯誤,請重新輸入?。。?)
if __name__ == '__main__':
start()
總結(jié)
到此這篇關(guān)于利用Python函數(shù)實(shí)現(xiàn)一個萬歷表的文章就介紹到這了,更多相關(guān)Python函數(shù)實(shí)現(xiàn)萬歷表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python對JSON中的特殊類型進(jìn)行Encoder
這篇文章主要介紹了詳解Python對JSON中的特殊類型進(jìn)行Encoder,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
如何使用python統(tǒng)計字符在文件中出現(xiàn)的次數(shù)
在開發(fā)過程中很多時候我們有統(tǒng)計單個字符或者字符串在另一個字符串中出現(xiàn)次數(shù)的需求,下面這篇文章主要給大家介紹了關(guān)于如何使用python統(tǒng)計字符在文件中出現(xiàn)的次數(shù)的相關(guān)資料,需要的朋友可以參考下2023-03-03
Python數(shù)據(jù)分析matplotlib設(shè)置多個子圖的間距方法
今天小編就為大家分享一篇Python數(shù)據(jù)分析matplotlib設(shè)置多個子圖的間距方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
Python實(shí)現(xiàn)視頻中添加音頻工具詳解
本文主要為大家介紹了Python中提供在無音頻的視頻中添加音頻的工具詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考一下2021-12-12
Python爬蟲之PhantomJS和handless的使用詳解
這篇文章主要介紹了Python爬蟲之PhantomJS和handless的使用詳解,PhantomJS是一個基于Webkit的headless瀏覽器,它會把網(wǎng)站加載到內(nèi)存并使用webkit來編譯解釋執(zhí)行頁面上的JavaScript代碼,由于不進(jìn)行css和gui渲染、不展示圖形界面,需要的朋友可以參考下2023-09-09
python設(shè)置隨機(jī)種子實(shí)例講解
在本篇文章里小編給大家整理的是關(guān)于python設(shè)置隨機(jī)種子的相關(guān)知識點(diǎn)以及實(shí)例內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-09-09

