Also replied on Reddit:
import collections
def getDayFromNumber(n):
if n == 0:
return 'Tuesday'
if n == 1:
return 'Monday'
if n == 2:
return 'Sunday'
if n == 3:
return 'Saturday'
if n == 4:
return 'Friday'
if n == 5:
return 'Thursday'
if n == 6:
return 'Wednesday'
yearDay = {}
days = []
centuryCounter = 0
for y in range(1600,1999):
if y > 1600 and y % 100 == 0:
centuryCounter = centuryCounter + 1
if y % 1600 == 0 or (y % 4 == 0 and not y % 100 == 0):
d = (((y-1600) / 2) + centuryCounter) % 7
yearDay[y] = getDayFromNumber(d)
days.append(getDayFromNumber(d))
print yearDay
print collections.Counter(days)