利用Python函数实现一个万历表完整示例
程序员文章站
2022-08-31 09:58:19
前言大家可以根据格式化打印字符去调一下最后的输出,不过有中文好像不好调整,可以换成星期的单词,这样应该会好一点,format()函数可以用来格式化打印字符,format()可以使用字符串去调用,也可以...
前言
大家可以根据格式化打印字符去调一下最后的输出,不过有中文好像不好调整,可以换成星期的单词,这样应该会好一点,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函数实现万历表内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!