year = eval(input("請輸入年份:")) day = eval(input("請輸入該年的第一天是星期幾:")) lst1 = ["January","February","March","April","May","June","July","August","September","October","November","December"] def is_leapyear(year): if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: return True else: return False if is_leapyear(year): for j in range(1,13): print(" %d,%s"%(year,lst1[j-1])) print("Sun Mon Tue Wed Thr Fri Sat ") print(" " * day,end = "") if j == 1 or j == 3 or j == 5 or j == 7 or j == 8 or j == 10 or j == 12: for i in range(1,32): print(format(str(i),"4s"),end = "") if (i + day) % 7 == 0: print() day =(i + day) % 7 print() elif j == 2: for k in range(1,30): print(format(str(k),"4s"),end = "") if (k + day) % 7 == 0: print() day =(k + day) % 7 print() else : for l in range(1,31): print(format(str(l),"4s"),end = "") if (l + day) % 7 == 0: print() day =(l + day) % 7 print() else: for a in range(1,13): print(" %d,%s"%(year,lst1[a-1])) print("Sun Mon Tue Wed Thr Fri Sat ") print(" " * day,end = "") if a == 1 or a == 3 or a == 5 or a == 7 or a == 8 or a == 10 or a == 12: for z in range(1,32): print(format(str(z),"4s"),end = "") if (z + day) % 7 == 0: print() day =(z + day) % 7 print() elif a == 2: for x in range(1,29): print(format(str(x),"4s"),end = "") if (x + day) % 7 == 0: print() day =(x + day) % 7 print() else : for c in range(1,31): print(format(str(c),"4s"),end = "") if (c + day) % 7 == 0: print() day =(c + day) % 7 print() # 思路: # (1)先打印出一月份的日歷 # (2)確認需要循環的程序 # (3)判斷平年閏年 # (4)實現打印日歷
這是打印一整年的日歷