Biblioteca =================================================================================================================================== Un fitxer de text conté la informació de les novetats que s'han rebut a la biblioteca. En el fitxer hi ha una seqüència de llibre. Per cada llibre hi ha quatre etiquetes: 'autor:', 'titol:', 'llengua:' i 'editorial:'. Després de cada etiqueta hi ha la informació corresponent. Per exemple, la informació d'una obra podria ser: *autor: Albert Sánchez Piñol titol: La pell freda llengua: català editorial: La Campana* En el fitxer hi ha una obra per línia. Suposeu que les etiquetes no poden aparèixer en el títol de les obres. Per exemple, hi pot haver un llibre que es tituli: *'A la recerca d'un personatge'*, però no una que es tituli: *'Busca un autor:'*. El contingut d'un fitxer podria ser: .. literalinclude:: novetats.txt :language: text Pots descarregar aquest fitxer com exemple: :download:`novetats.txt` Dissenyeu una funció anomenada :code:`novetats` que a partir del nom d'un fitxer d'aquestes característiques, calculi i retorni un diccionari que tingui com a claus strings que corresponen a una llengua i com a valor una llista de tuples. Cada tupla contindrà dos strings: l'autor de l'obra i el títol d'aquesta. Les llistes associades a cada llengua estaran ordenades alfabèticament segons el nom de l'autor i en cas del mateix autor, pel títol de l'obra. Pel fitxer de l'exemple, la funció hauria de retornar: .. literalinclude:: test-biblioteca.txt :language: python3 :lines: 8-17 Desa la funció al fitxer ``biblioteca.py``. Pots descarregar un joc de proves a :download:`test-biblioteca.txt`. Pots descarregar una solució a :download:`biblioteca.py`.