1 year = int(input('请输入年份: '))
2 n = year//4 - year//100 + year//400 #计算从公元元年开始到本年度的闰年数量
3 t = (year + n ) % 7 #计算本年度1月1号是星期几
4
5 dnum = [31,28,31,30,31,30,31,31,30,31,30,31]
6 if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
7 dnum[1] = 29 #闰年二月份是29天
8
9 print(f'年份:{year}')
10
11 for i in range(0,12):
12 print(f'{i+1}月')
13 print('一\t二\t三\t四\t五\t六\t日')
14 for k in range(t-1):
15 print(' ', end='\t') #打印每月前面的空白部分
16 r = 7 - t;
17 for j in range(dnum[i]):
18 if t % 7 == 0 : #是否换行判断
19 print(f'{j+1:2}')
20 t=1
21 else:
22 print(f'{j+1:2}', end='\t')
23 t = t + 1
24
25 if j % 7 != r : #月底是否需要换行
26 print(' ')