2. Horari del Descans (3 punts)¶
Considerem una activitat docent de la nostra escola, l’ETSEIB (que a partir d’ara anomenarem AD). Ens interessa saber els temps d’inici i fi del descans que es vol fer a meitat de l”AD. Es demana que al mòdul horaris (fitxer horaris.py, facis la funció especificada a continuació:
- horaris.horari_descans(ti, tf, dia, dd)¶
- Paràmetres:
ti,tf – el temps d’inici i de fi d’una AD, representats com a instàncies de la classe
timedel mòduldatetime.dia – la data de l”AD, representada com a instància de la classe
datedel mòduldatetime.dd – la durada del descans, representat com a instància de la classe
timedeltadel mòduldatetime.
- Retorna:
Tres valors, un
booli dues instàncies de la classedatetimedel mòduldatetimetals que: si el descans és OK (o sigui és superior a 0 i inferior a la durada de l”AD) aleshores retornaTruei l’inici i fi del descans, altrament retornaFalsei l’inici i fi de la AD.
Per exemple:
>>> ti, tf, dia = time(10,5,0), time(12,0,0), date(2024, 3, 11)
>>> horari_descans(ti, tf, dia, timedelta(minutes=10))
(True, datetime.datetime(2024, 3, 11, 10, 57, 30), datetime.datetime(2024, 3, 11, 11, 7, 30))
>>> horari_descans(ti, tf, dia, timedelta(minutes=120))
(False, datetime.datetime(2024, 3, 11, 10, 5), datetime.datetime(2024, 3, 11, 12, 0))
>>> horari_descans(ti, tf, dia, timedelta(0))
(False, datetime.datetime(2024, 3, 11, 10, 5), datetime.datetime(2024, 3, 11, 12, 0))
Disposes d’un joc de proves més complet al fitxer horari_descans-test.txt.
Nota
Per a resoldre aquest problema es recomana utilitzar el mètode combine() de la classe datetime.