python计算星期

计算星期
【问题描述】
已知1980年1月1日是星期二。
任意输入一个日期,求这一天是星期几。
【输入形式】
从键盘输入一行字符串“Y-M-D”,是一个有效的公历日期。其中Y为年(1980≤Y≤3000),M为月,D为天,都不带有前缀0。
【输出形式】
在屏幕输出结果。
输出只有一行,是代表该日星期的字符串。对于星期一至星期日,分别输出Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday。在行末要输出一个回车符。判断闰年的算法是:

年份能被4整除并且不能被100整除,或者能被四百整除。
【输入样例】
2004-1-6
【输出样例】
Tuesday
【评分标准】
本题不准使用数学库函数。运行时限1秒。结果完全正确得20分,每个测试点4分。

y,m,d=map(int,input().split('-'))
months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
lst = ['Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday', 'Monday']
total = 0
for i in range(1980, y + 1):
    if i != y:
        total += sum(months)
        if i % 400 == 0 or (i % 4 == 0 and i % 100 != 0):
            total += 1
    else:
        total += sum(months[:m - 1])
        if m > 2 and (i % 400 == 0 or (i % 4 == 0 and i % 100 != 0)):
            total += 1
total += (d - 1)
print(lst[total % 7])