.. module:: contruccio Construccions amb retard (3 punts) ================================== Disposem d'un fitxer de text amb dades de les construccions d'una certa empresa durant un cert període. Les construccions poden estar acabades, en curs o pendents d'iniciar-se. Aquesta informació es guarda en un fitxer. Cada línia del fitxer conté les següents dades d'una construcció: un identificador de l'obra (un string), estat (en format string que pot prendre els valors: ``'ACABADA'``, ``'EN CURS'`` o ``'NO INICIADA'``), el pressupost (un enter corresponent al valor en euros), la durada prevista (un enter en mesos) i el mes de la data prevista de finalització (``MM/AA``). Aquestes dades estan separades pel caràcter ``';'`` tal com mostra l'exemple: .. literalinclude:: construcSA.txt :language: text Pots baixar-te aquest fitxer per fer proves :download:`construcSA.txt`. Dissenya la següent funció i desa-la al mòdul :mod:`construccio` (fitxer :file:`construccio.py`): .. function:: retards(nom_fitxer, data_actual) Donats un *string* `nom_fitxer` amb el nom d'un fitxer amb les construccions d'una certa empresa i donat un *string*, `data_actual`, que representa una data formada només pel mes i l'any (``MM/AA``), retorna una llista amb dades de les obres **no iniciades** tals que el nombre de mesos que queden fins a la data de finalització prevista és menor o igual que la durada prevista. Les dades de la llista resultant seran tuples de tres elements: identificador de l'obra, mesos que falten per la data prevista de finalització i mesos previstos de durada de l'obra. L'ordre de la llista resultant serà el mateix que hi ha en el fitxer. Per exemple, si un fitxer anomenat :download:`construcSA.txt` conté les línies de l'exemple anterior, el resultat serà que es mostra a continuació: .. literalinclude:: test-construccio.txt :language: python :start-after: ---- inici :end-before: ---- fi Disposes d'aquests i d'altres jocs de proves al fitxer :download:`test-construccio.txt`. .. note:: - Les dades que hi ha al fitxer no segueix cap mena d'ordre. - Es recomanable fer una funció que calculi els mesos que falten entre dues dates donades del tipus ``MM/AA``. - Suposarem que mai la data d'entrega prevista sigui anterior a la data actual.