Perruqueria_2¶
La perruqueria de moda Fashion and Pashion S.A. ha tingut tant d’èxit que ha decidit automatitzar la gestió de comptabilitzar les propines diàries donades pels clients a qui han tallat els cabells.
Els tipus de tallat que tenen al catàleg venen representats en una
llista de cadenes com per exemple: ['raspall', 'garçon', 'mao-tse',
'punki', 'kunki']. Al final de la jornada laboral, l’empresa disposa
d’una llista en la qual cada component és un tuple format per una
cadena i un enter. La cadena representa un tipus de tallat i l’enter
representa la propina en euros donada pel client. Un exemple de llista
corresponent a un dia és:
[('mao-tse', 2), ('raspall', 5), ('raspall', 2), ('garçon', 10), ('mao-tse', 6), ('kunki', 3)]
Guarda les dues funcions següents al mateix fitxer perruqueria.py.
Dissenya la funció
crea_diccionari()que, donada una llista de les propines d’un dia, calculi i retorni un diccionari on la clau siguin els tallats de cabell que apareixen en aquesta llista i el valor el total de propines que el tipus de tallat ha generat.>>> lpropines = [('mao-tse', 2), ('raspall', 5), ('raspall', 2), ... ('garçon', 10), ('mao-tse', 6), ('kunki', 3)] >>> d = crea_diccionari(lpropines) >>> if d != {'mao-tse': 8, 'raspall': 7, 'garçon': 10, 'kunki': 3}: ... print(d)
Nota
Podeu baixar el fitxer amb tests
crea_diccionari.txtDissenya la funció
perruqueria()que, donades una llista amb els tipus de tallats de la perruqueria i una llista de les propines d’un dia, calculi i retorni una nova llista que tingui un component per cada tipus de tallat que Fashion and Pashion S.A. ofereix. Cada component de la nova llista serà una subllista de dos components: el tipus de tallat i el total de propines que el tipus de tallat ha generat. Els components d’aquesta nova llista han d’estar ordenats segons el tipus de tallat en el mateix ordre en què apareixen a llista amb els tipus de tallats. Aquesta funció ha de cridar l’anterior. Exemple:>>> ltallats = ['raspall', 'garçon', 'mao-tse', 'punki', 'kunki'] >>> lpropines = [('mao-tse', 2), ('raspall', 5), ('raspall', 2), ... ('garçon', 10), ('mao-tse', 6), ('kunki', 3)] >>> noval = perruqueria(ltallats, lpropines) >>> if noval != [['raspall', 7], ['garçon', 10], ['mao-tse', 8], ['punki', 0], ... ['kunki', 3]]: ... print(noval)
Nota
Podeu baixar el fitxer amb tests
perruqueria.txt
Solució
Disposeu de solucions al fitxer perruqueria.py.