利用Python函數實現一個萬歷表完整示例
前言
大傢可以根據格式化打印字符去調一下最後的輸出,不過有中文好像不好調整,可以換成星期的單詞,這樣應該會好一點,format()函數可以用來格式化打印字符,format()可以使用字符串去調用,也可以獨自使用。
可以點進格式化打印字符瞭解一下哦
示例代碼
# 判斷是否閏年 def isleap(year): return year % 4 == 0 and year % 100 != 0 or year % 400 == 0 # 判斷月的天數 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年到輸入年份的總天數 def total_days(year): s = 0 for i in range(1900,year): if isleap(i): s += 366 else: s += 365 return s # 1月到輸入月份的天數 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() # 開始函數 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函數實現一個萬歷表的文章就介紹到這瞭,更多相關Python函數實現萬歷表內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python for循環內輸出和外輸出方式
- python編程開發時間序列calendar模塊示例詳解
- 14道基礎Python練習題(附答案)
- python入門學習筆記分享
- Go time包AddDate使用解惑實例詳解