Perfums 2 ========== L'empresa FLAIRES S.A. disposa d'un fitxer de perfums on a cada línia hi ha informació sobre un perfum, que consisteix en 4 dades separades per un espai en blanc: nom del perfum, nom del tipus de perfum (PARFUM, EAU\_PARFUM, EAU\_TOILETTE o bé EAU\_COLOGNE), contingut en ml i preu. Cap nom de perfum conté espais en blanc. Com a exemple, podeu descarregar el fitxer :download:`perfums.txt` que té el següent contingut: .. literalinclude:: exemples/perfums2.txt :language: console Desa les següens funcions al fitxer ``perfums.py`` #. Dissenya la funció ``decodifica`` que, donat com a paràmetre una cadena que conté tota la informació corresponent a un perfum (una línia del fitxer de perfums), retorni un tuple amb la següent informació: nom (string), tipus (string), contingut (enter), preu (real) i preu per ml (real). Exemples: .. literalinclude:: test_perfum1.txt :language: python3 :lines: 3- .. note:: Podeu descarregar el fitxer amb tests :download:`test_perfum1.txt` #. Dissenya la funció ``selecciona`` que, donats com a paràmetres el nom d'un fitxer de perfums, un tipus de perfum i el nom d'un altre fitxer, escrigui en aquest segon fitxer el nom i el preu per ml (separats per un espai en blanc) de tots els perfums del primer fitxer que són del tipus indicat (un a cada línia). Aquesta funció ha de cridar la dissenyada a l'apartat anterior i usar adequadament el tuple que retorna. El preu per m. (real) s'ha d'escriure arrodonit a dos decimals. .. literalinclude:: test_perfum2.txt :language: python3 :lines: 3- .. note:: Podeu descarregar el fitxer amb tests :download:`test_perfum2.txt` #. Dissenya la funció ``class_continguts`` que, donat com a paràmetre el nom d'un fitxer de perfums (string), retorni un diccionari on la clau és un contingut (enter) i el valor una llista amb tots els noms de perfums que es presentin en aquell contingut, ordenats lèxicograficament. Aquesta funció ha de cridar la dissenyada al primer apartat i usar adequadament el tuple que retorna. .. literalinclude:: test_perfum3.txt :language: python3 :lines: 3- .. note:: Podeu descarregar el fitxer amb tests :download:`test_perfum3.txt` .. rubric:: Solucions Disposeu de solucions al fitxer :download:`perfums.py `