(编辑:jimmy 日期: 2024/12/27 浏览:2)
大家可以根据格式化打印字符去调一下最后的输出,不过有中文好像不好调整,可以换成星期的单词,这样应该会好一点,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()