最近进行python基础培训,课下作业制作万年历,之前没做过,感觉里面还是有很多需要学的。所谓万年历,就是咱们电脑或者手机的日期会记录每个月每天对应星期几。用python来制作万年历,就是从键盘输入年份和月份,然后输出对应的日历表。在制作过程中有如下问题需要思考:
万年历的起始时间,也就是从哪一天算起?
平年和闰年的天数不一样,同时,每个月的天数不一样,如何对输入日期距离起始日期的天数求和?
如何打印出万年历的样子?
针对这些问题进行思考,可以让逻辑更清楚。首先,万年历从1990年1月1日开始,对应星期一。求输入日期到1990年1月1日的天数可分为两部分,比如输入2019年9月,那么需要分别计算2018年12月31日到1990年1月1日的天数,以及2019年8月31号到2019年1月1号的天数,最后加1(关于加1这个还没懂,我的程序后面没有加1是对的,但是如果我加1,就错开一位了)。由于里面涉及到平年和闰年,所以需要先判断,同时之后求每个月天数时还要判断平年和闰年,所以直接写个判断函数。
#判断平年和闰年 def leap_year(year): if(year%4==0 and year%100==0) or (year%400==0): return True else: return False 123456
下面需要计算每个月的天数 ,其中需要注意2月份要判断平年和闰年,调用leap_year()函数即可。
#计