例题:已知2012年1月25日是星期三,编写一个程序。输入用“年月日”表示的一个2012年1月25日以后的期,输出该日期是星期几(星期天输出0)。
解题思路:
(1)使用累加法,依次计算年月日
(2)先计算年份大于2012几年,月份大于1月几月,天数按照月份加相应天数最后减去22天
(3)注意事项:注意闰年
首先将每个月的天数组成列表,并且将输入的数字组成列表
monthDays=[1,31,28,31,30,31,30,31,31,30,31,30,31] #将每个月的天数组成列表,第一项为列表第0项,所以随便取值
days=0 #最终天数
let=input().split()
year,month,date=int(let[0]),int(let[1]),int(let[2])
接下来进行计算是否为闰年,如果是闰年一年366天,如果不是则365天。
for y in range(2012,year): #进入循环,判断是否为闰年
if y%4==0 and y%100!=0 or y%400==0:
days+=366
else :
days+=365
接着进行计算月份,月份需要注意如果是闰年2月有29天,否则是28天。
if year%4==0 and year%100!=0 or year%400==