Dada uma MM/DD
data ( 12/24
) e um período de início / fim ( 11/01 - 06/24
), descubra se a data está dentro do período listado.
Os períodos podem ser seqüenciais ( 05/01 - 11/01
) ou agrupados até o próximo ano ( 11/01 - 05/01
).
Exemplos:
12/24
está em11/01 - 06/24
= True06/24
está em11/01 - 06/24
= True06/24
está em06/24 - 06/24
= True06/24
está em11/01 - 06/23
= Falso07/24
está em11/01 - 06/24
= Falso07/24
está em05/01 - 11/01
= True07/24
está em07/23 - 07/20
= True
Os anos não são importantes. Presume-se que a data e / ou o período se apliquem a qualquer ano passado ou futuro.
A data final será sempre posterior à data de início. Se a data de término for numericamente menor que a data de início, presumimos que estamos concluindo o próximo ano.
As três variáveis de entrada podem ser via qualquer método (args, HTTP, stdin, etc.) e em qualquer formato (string, JSON, array, etc.)
A resposta pode ser boolean
ou qualquer forma de uma sequência sim / não / correta / etc. O menor código vence.
Você não pode simplesmente passar argumentos para uma função interna.
11/01 - 06/24 includes 06/24?
['06', '24']
se estivesse certo []
ou o que você quer dizer?
2017
e no próximo ano 2018
. Como é que vamos determinar que 06/24
meios 2018
e, portanto, deve ser True
mais do que 2017
e, assim, False
porque é antes 11/01
?
date > start & date < end
" - Alguns dos seus casos de teste estão errados. Eu acho que o que você quer dizer é start<=date<=end
.
['MM', 'DD']
?