本文實例為大家分享了python實現簡單日歷的具體代碼,供大家參考,具體內容如下
首先要理清楚邏輯,日歷的難點在于如何使用基礎知識將周幾與對應的日期進行對應,我這里利用了1917年1月1日為星期1,計算累計到我們要查詢的月份的天數來確定所查詢月份的第一天為周幾.
# 輸出日歷界面print("*" * 50)print("歡迎使用【天天日歷】v2.0")# 接收用戶輸入的年份year_int = int(input("請輸入年份:/n"))# 定義全局變量用于記錄天數總和sum = 0if year_int >= 1917: month_int = int(input("請輸入月份/n")) for year_every in range(1917, year_int): # 遍歷從1917年到用戶輸入年份 用于計算到用戶所輸入年份共多少天 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): # 遍歷月份用于計算由1月份到用戶輸入月份的總天數 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 # 定義變量用于定義每個月的天數 day = 0 # 定義變量 用于計算當月第一天為周幾 weak = sum % 7 print("日/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 # 輸出指定空格數讓第一天與周幾對齊 print("/t"*weak,end="") i = 1 while i <= day: # 遍歷用戶查詢月份 weakend = ((sum+i)-1)% 7 # 如果余數為6 換行否則輸出空格 if weakend == 6: print("%d" %i) else: print(i,end="/t") i += 1else: print("系統正在維護暫時無法獲取1917年之前的信息")
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答