1. Birra (2 punts)

Un bar especialitzat en cerveses industrials i artesanes vol portar control diari de la quantitat de cervesa que queda de cada tipus. Cada cervesa està identificada amb un nom i es guarda en un dipòsit que està a un determinat nivell (decilitres que hi queden). Cada dia rep informació de la quantitat consumida de cada tipus. La quantitat que s’ha consumit no supera mai la quantitat que hi havia disponible en començar el dia, però pot ser zero si aquell dia ningú ha demanat aquella cervesa.

Es demana que al fitxer birra.py facis la funció següent:

birra.act_diposits(Lnoms, Lnivells, Lconsums)

tal que

donades 3 llistes

  • Lnoms una llista (list) amb els identificadors de totes i cadascuna de les cerveses (str) i l’string 'TOTAL' al final.

  • Lnivells una llista (list) de valors (int) on cada valor indica la quantitat en decilitres que hi ha actualment al dipòsit de la cervesa que ocupa aquesta mateixa posició a Lnoms i a més hi ha un darrer valor amb el total de tota la cervesa disponible (que coincideix amb la suma dels nivells de totes les cerveses).

  • Lconsums una llista (list) no ordenada de parells (list) format per un nom de cervesa (str) i la quantitat en decilitres que se n’ha consumit avui (int).

modifica els valors de Lnivells restant-hi a cada cervesa corresponent (segons Lnoms) la quantitat que s’ha consumit d’acord amb el que indica Lconsums. També modifica el darrer valor per tal que continuï corresponent al total.

Els següents tests mostren exemples del que ha de fer la funció:


>>> Ln = ['Blonde', 'IPA suau', 'Red IPA', 'TOTAL']
>>> Ld = [265, 295, 212, 772]

>>> Lc = [['Red IPA', 10], ['IPA suau', 10]]
>>> act_diposits(Ln, Ld, Lc)
>>> Ld
[265, 285, 202, 752]

Disposes dels jocs de proves al fitxer test-birra.txt