1. 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:
'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:
'AJX/I G2'
Dissenya les següents funcions i desa-les al mòdul nouformat (fitxer nouformat.py).
- nou_format(s)¶
Aplica el nou format a l’string s.
Els següents doctests mostren exemples del que ha de fer la funció:
>>> nou_format('oax/z-2020')
'OAX/Z G2'
>>> nou_format('oax/z-2005')
'OAX/Z G1'
>>> nou_format('oax/z/2-2005')
''
Disposeu de tests al fitxer test-nou-format.txt.
- recodifica(lc, car)¶
Aplica el nou format als codis de la llista lc tenint en compte el caràcter car.
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ó:
>>> l = ['oax/z-2020','oux/n-2021','boua/n-2002','aux/z-2019']
>>> recodifica(l,'o')
>>> l
['OAX/Z G2', 'OUX/N G2', 'BOUA/N-2002', 'AUX/Z-2019']
>>> l = ['oax/z-2020','oux-n-2021','boua/n-2002','aux/z-2019']
>>> recodifica(l,'o')
>>> l
['OAX/Z G2', 'oux-n-2021*', 'BOUA/N-2002', 'AUX/Z-2019']
Disposeu de tests al fitxer test-recodifica.txt.