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.