【纯文本教程】大学专科的Python基础开发课——【实训项目】打印某年日历
用Python打印某年日历
项目目标:
日历程序可以打印出任何一年的日历,程序运行后输入一个年份,例如2017,或者是2020,打印出全年的日历,示例可以参考Windows操作系统自带的日历。
项目设计(思路):
第一步,闰年的判断
【常识·闰年的定义】判断年份y是否是闰年,需要满足两个条件之一:
(这里有一个没有明说的前提条件——“闰年”是在“公元元年”之后,而“公元前”的年份不参与闰年、平年的判断;就像“质数”与“合数”是在大于1的正整数中一样。当然,公历的年份默认是整数就不说了。)
一是400的正整数倍数
二是4的正整数倍数中的非整百数
这里再强调一遍“闰年判断函数”
def isLeap(y):
return y%400==0 or y%4==0 and y%100!=0#在这里面,“and”的优先级要高于“or”,因此是先计算后面的“and”,再计算前面的“or”。
第二步,某月最大天数的判断
【常识·历法·公历】某个月份的最大天数:
大月(1、3、5、7、8、10、12)是31天;
2月特殊(平年28天,闰年29天)
设计“最大天数判断函数”(返回y年m月的最大天数)
def maxDays(y,m):
if m==1 or m==3 or m==5 or m==