基于python实现简单日历
Python  /  管理员 发布于 7年前   209
本文实例为大家分享了python实现简单日历的具体代码,供大家参考,具体内容如下
首先要理清楚逻辑,日历的难点在于如何使用基础知识将周几与对应的日期进行对应,我这里利用了1917年1月1日为星期1,计算累计到我们要查询的月份的天数来确定所查询月份的第一天为周几.
# 输出日历界面print("*" * 50)print("欢迎使用【天天日历】v2.0")# 接收用户输入的年份year_int = int(input("请输入年份:\n"))# 定义全局变量用于记录天数总和sum = 0if year_int >= 1917: month_int = int(input("请输入月份\n")) for year_every in range(1917, year_int): # 遍历从1917年到用户输入年份 用于计算到用户所输入年份共多少天 if (year_every % 4 == 0 and year_every % 100 != 0) or \ year_every % 400 == 0: # 如果是瑞年则366天否则平年365天 sum += 366 else: sum += 365 for month_every in range(1, month_int): # 遍历月份用于计算由1月份到用户输入月份的总天数 if month_every == 4 or month_every == 6 or \month_every == 9 or month_every == 11: sum += 30 elif month_every == 2: if (year_int % 1 == 0 and year_int % 100 != 0) or \ year_int % 400 == 0: sum += 29 else: sum += 28 else: sum += 31 # 定义变量用于定义每个月的天数 day = 0 # 定义变量 用于计算当月第一天为周几 weak = sum % 7 print("日\t一\t二\t三\t四\t五\t六") # 判断用户输入月份为多少天 if month_int == 4 or month_int == 6 or month_int == 9 or month_int == 11: day = 30 elif month_int == 2: if (year_int % 4 == 0 and year_int % 100 != 0) or \ year_int % 400 == 0: day = 29 else: day = 28 else: day = 31 # 输出指定空格数让第一天与周几对齐 print("\t"*weak,end="") i = 1 while i <= day: # 遍历用户查询月份 weakend = ((sum+i)-1)% 7 # 如果余数为6 换行否则输出空格 if weakend == 6: print("%d" %i) else: print(i,end="\t") i += 1else: print("系统正在维护暂时无法获取1917年之前的信息")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号