Nou format =========== Una empresa codifica els seus productes amb un string dividit en dues parts separades per un guió (``'-'``), la referència del producte i l'any de fabricació. La primera està formada per un nombre variable de caràcters, una barra i un caràcter més. La segona està formada per quatre dígits que indiquen l'any de fabricació. Per exemple: .. code-block:: python 'ajx/i-2020' Es vol desenvolupar una eina per canviar el format d'alguns codis. El nou format és un string que conté la referència del producte amb tots els caràcters en majúscules, un espai en blanc i un text que depèn de l'any de fabricació: ``G1`` si l'any és anterior a 2020 o ``G2`` altrament. Per exemple: .. code-block:: python 'AJX/I G2' Dissenya les següents funcions i desa-les al mòdul :mod:`nouformat` (fitxer :file:`nouformat.py`). .. function:: nou_format(s) Aplica el nou format a l'string *s*. :param str s: codi de producte :rtype: str :return: Retorna un string buit si hi ha errors, és a dir, la data no està formada només per dígits o la referència no conté exactament una barra i un guió. Si no hi ha errors, retorna un codi amb el nou format. Els següents doctests mostren exemples del que ha de fer la funció: .. literalinclude:: test-nou-format.txt :language: python3 :lines: 3-8 Disposeu de tests al fitxer :download:`test-nou-format.txt`. .. function:: recodifica(lc, car) Aplica el nou format als codis de la llista `lc` tenint en compte el caràcter `car`. :param list(str) lc: llista de codis de producte :param str car: caràcter inicial **Modifica** la llista `lc` de manera que s'aplica el nou format als codis que comencen pel caràcter `car`. Si algun string dels que comença per `car` conté errors, el canvia pel mateix string seguit d'un asterisc (``*``). Els codis que no comencen per `car` els canvia pel mateix string tot en majúscules. Els següents doctests mostren exemples del que ha de fer la funció: .. literalinclude:: test-recodifica.txt :language: python3 :lines: 3-11 Disposeu de tests al fitxer :download:`test-recodifica.txt`.