溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Python輸出一個萬歷表

發(fā)布時間:2021-01-25 16:13:51 來源:億速云 閱讀:165 作者:Leah 欄目:開發(fā)技術

這期內容當中小編將會給大家?guī)碛嘘P使用Python輸出一個萬歷表,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

示例代碼

# 判斷是否閏年
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()

上述就是小編為大家分享的使用Python輸出一個萬歷表了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI