1. Llaminadures

En Jaume és un empresari amb dues botigues de llaminadures repartides per Barcelona. Però s’ha adonat que el comportament dels seus usuaris en cadascuna de les dues botigues és molt diferent, i vol analitzar-ho. Per això, disposa d’un fitxer amb totes les compres de llaminadures fetes a les dues botigues. Cada línia conté el nom del client, el tipus de llaminadura comprada, el nombre d’unitats comprades, i la botiga on s’ha comprat ('Botiga1' o 'Botiga2'). A continuació es mostren les primeres línies d’un exemple de fitxer:

Manel:piruletes:5:Botiga1
Laura:gominoles:20:Botiga2
Pere:núvols:10:Botiga1
Anna:caramels:15:Botiga2
Marc:piruletes:7:Botiga1
Sara:gominoles:12:Botiga2
Manel:núvols:8:Botiga1
Laura:caramels:18:Botiga2

Pots descarregar el fitxer d’exemple complet xuxes.txt

Dissenya la funció tendencia(), que donat un nom de client (string) i el nom d’un fitxer (string) amb el format indicat, retorni dos diccionaris que continguin els consums del client per cada tipus de llaminadures per cadascuna de les dues botigues. A cada diccionari, les claus seran el tipus de llaminadura i els valors associats el nombre de llaminadures consumides.

Tingues en compte que només hi ha quatre tipus de llaminadures: piruletes, gominoles, caramels i núvols i que tots quatre tipus han d’aparèixer sempre als diccionaris resultants.

Per exemple, pel fitxer xuxes.txt indicat anteriorment, la funció donaria els següents resultats:

>>> d1, d2 = tendencia('Manel', 'xuxes.txt')
>>> d1 == {'piruletes': 29, 'núvols': 47, 'gominoles': 0, 'caramels': 0}
True
>>> d2 == {'piruletes': 46, 'núvols': 8, 'gominoles': 0, 'caramels': 0}
True

Desa la funció al fitxer llaminadures.py.

Nota

Disposes de més tests al fitxer test-tendencia.txt.

Disposes de solucions al fitxer llaminadures.py.