def day_o_week(a):
import math
b = a.split()
# print(b)
month = {"March":1,"April":2, "May":3, "June":4, "July":5, "August":6, "September":7, "October":8,"November":9,"December":10, "January":11, "February":12 }
mon = month [b [0]]
# print (mon)
day = int(b [1])
# print(day)
century = int((b [2])) // 100
# print(century)
year = int((b [2])) % 100
# print(year)
# dow = {0:"Sunday",1:"Monday", 2:"Tuesday", 3:"Wednesday",4: "Thursday",5:"Friday", 6:"Saturday"}
# day_of_the_week = (day + math.floor(2.6 * mon - 0.2) - (2 * century) + year + math.floor(year / 4) + math.floor(century / 4)) % 7
# (d + floor(2.6m - 0.2) - 2c + y + floor(y/4) + floor(c/4)) modulo 7
dow = {1:"Sunday",2:"Monday", 3:"Tuesday", 4:"Wednesday",5: "Thursday",6:"Friday", 0:"Saturday"}
day_of_the_week = (day + math.floor((13 * (mon + 3 )) / 5) + year + math.floor(year / 4) + math.floor(century / 4) - 2 * century) % 7
return dow[day_of_the_week]
# test
print(day_o_week('January 1 1678'))
print(day_o_week("September 3 1955"))
print(day_o_week("June 12 2012"))
print(day_o_week("August 4 1843"))
что -то некорректно код работает, язык Питон, это было упражнение по словарям (dictionary), вычисление по формуле дня недели, исходя из даты , спотыкается, почему-то, на 1 января 1678 дате, остальные для этого теста проходит правильно ( но не уверен, что другие пройдет правильно тоже)
попробовал 2 немного разные формулы ( вторая осталась на всякий случай закомментированая)