Учитывая MM/DD
дату ( 12/24
) и диапазон дат начала / окончания ( 11/01 - 06/24
), выясните, находится ли дата в указанном интервале дат.
Диапазоны дат могут быть последовательными ( 05/01 - 11/01
) или переходить на следующий год ( 11/01 - 05/01
).
Примеры:
12/24
находится в11/01 - 06/24
= True06/24
находится в11/01 - 06/24
= True06/24
находится в06/24 - 06/24
= True06/24
в11/01 - 06/23
= False07/24
в11/01 - 06/24
= False07/24
находится в05/01 - 11/01
= True07/24
находится в07/23 - 07/20
= True
Годы не имеют значения. Предполагается, что дата и / или диапазон дат применяются к любому прошлому или будущему году.
Дата окончания всегда будет после даты начала. Если дата окончания численно меньше, чем дата начала, мы предполагаем, что мы приближаемся к следующему году.
Три входные переменные могут быть через любой метод (args, HTTP, stdin и т. Д.) И в любом формате (строка, JSON, массив и т. Д.)
Ответом может быть boolean
или любая форма строки да / нет / правильно / и т.д .. Самый короткий код выигрывает.
Вы не можете просто передать аргументы во встроенную функцию.
11/01 - 06/24 includes 06/24?
['06', '24']
что правильно, []
или что ты имеешь в виду?
2017
и следующем году 2018
. Как мы должны определить, что 06/24
означает 2018
и, таким образом, должно быть, True
а не 2017
и, следовательно, False
потому что это раньше 11/01
?
date > start & date < end
» - Тогда некоторые из ваших тестов являются ошибочными. Я думаю, что вы имеете в виду start<=date<=end
.
['MM', 'DD']
?