.. py:module:: date_checking Recursivitat: Comprova dates *(2 punts)* ======================================== .. warning:: Per a resoldre aquest exercici **no es poden fer servir iteracions (ni** ``for`` **ni** ``while`` **)**, només funcions recursives. Representem les dates d'inici i de fi d'un procés industrial com una tupla amb dues instàncies de la classe :py:class:`datetime.date`, on la primera representa la data d'inici i la segona la data de fi del procés. A aquesta tupla l'anomenem ``p-span``. Diem que un ``p-span`` és **incorrecte** quan la seva data d'inici és **estrictament posterior** a la data de fi. Es demana que al mòdul :py:class:`date_checking` (fitxer :file:`date_checking.py`) implementeu la funció **recursiva** següent: .. py:function:: verificacio(l) :param l: llista de ``p-span`` :return: l'índex (d'acord amb la indexació de les llistes de Python) i diferència de dies del **primer** ``p-span`` incorrecte. En cas que no n'hi hagi cap, s'ha de retornar el parell -1, -1. Per exemple, donada la llista amb les dates següents: .. literalinclude:: tests-date_checking.txt :language: python3 :start-after: ---iniex :end-before: ---fiex el resultat correcte ``verificacio(l)`` és ``(2, -1)`` ja que el primer ``p-span`` incorrecte està a la posició 2 i la seva diferència en dies de les dates d'inici i fi és de **-1** dies. El p-span de la posició 3 també és incorrecte però és posterior. .. note:: Disposeu de més jocs de proves al fitxer :download:`tests-date_checking.txt `.