def whichDay(y, m, d):
# 每个月都是多少天
mList = [31,28,31,30,31,30,31,31,30,31,30,31]
sum = 0
# 如果是9月25号,算出来前8个月有多少天
for i in range(m-1):
sum += mList[i]
# 把9月份的那几天也加上
# 如果是闰年并且月份大于1月,要多加1天
if ((y%4==0 and y%100!=0) or y%400==0) and m > 1:
return sum + d + 1
# 否则不加1
else:
return sum + d
第二种方法
def whichDay2(y, m, d):
mList = [31,28,31,30,31,30,31,31,30,31,30,31]
if m < 1 or m > 12 or (((y%4==0 and y%100!=0) or y%400==0) and m==2 and d>29) or (not ((y%4==0 and y%100!=0) or y%400==0) and d > mList[m - 1]):
return '格式错误'
return sum([mList[i] for i in range(m-1)])+d+1 if ((y%4==0 and y%100!=0) or y%400==0) and m > 1 else sum([mList[i] for i in range(m-1)]) + d
第二种方法已做错误处理