Узнать день недели
Вася изобрёл машину времени. И уже переместился во времени в d1-й день m1-го месяца некоторого года. Оказалось, что это w1-й день недели. Сейчас Вася планирует переместиться во времени в день 2-й m2-го месяца этого же года. Помогите ему узнать, какой это будет день недели. Считайте, что этот год невисокосный. Формат входных данных Первая строка содержит три целых числа m1, d1 и w1 - месяц, число и день недели первой даты. Вторая строка содержит два целых числа m2 и d2 - месяц и число второй даты. Формат выходных данных Выведите одно число w2 – день недели второй даты.
import datetime
import random
def generate_year() -> int:
year = random.randint(1000, 2200)
if((year % 400 == 0) or
(year % 100 != 0) and
(year % 4 == 0)):
return year
else:
generate_year()
def day_of_week(first_line: list, second_line: list):
month, num, day = first_line
month2, num2 = second_line
year = generate_year()
date = datetime.date(month, day, year)
Ответы (1 шт):
Непонятно, зачем все эти все шаманские танцы.Если день недели задан просто числом, то наверное и вывод дня недели надо выполнить в виде числа. И тогда:
from datetime import datetime
m1,d1,w1=input().split(',')
w1=int(w1)
a = datetime.strptime(m1+'/'+d1, "%m/%d")
m2,d2=input().split(',')
b = datetime.strptime(m2+'/'+d2, "%m/%d")
delta = b - a
(delta.days+w1)%7
Пример вводим 27 февраля пятница, т.е. 2,27,5 Интересуемся днем 6 марта, т.е. 3,6
2,27,5
3,6
Out[34]: 5
Надо только помнить, что номера дней недели отсчитываются от понедельника (1), а воскресенье соответствует 0. Ну например:
2,27,5
3,8
Out[35]: 0