当前位置 博文首页 > 文章内容

    利用Python函数实现一个万历表完整示例

    作者:shunshunshun18 栏目:未分类 时间:2021-01-23 14:45:09

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    前言

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

    总结