Camions¶
Una empresa de transport vol distribuir la càrrega de determinats productes en els seus camions. Es disposa d’una llista de productes amb subllistes on cada subllista correspon a un producte i està formada per dos elements: el codi de producte (string) i la quantitat (enter).
Al mòdul camions (fitxer camions.py), dissenya la
funció assigna_camio() que a partir d’una llista com
l’esmentada, el codi d’un camió (string) i la quantitat que aquest pot
transportar (enter), modifiqui aquesta llista de forma que les
subllistes amb els productes assignats al camió tinguin un tercer
element que sigui el codi del camió.
L’assignació dels productes al camió es fa seguint els criteris següents:
l’ordre d’assignació de productes és l’ordre en què apareixen a la llista,
un producte s’ha d’assignar completament, la quantitat corresponent no es pot partir, i
s’han d’assignar tants productes com hi càpiguen.
Per exemple:
>>> lprod = [['AB4', 100], ['GH6', 71], ['PK7', 65], ['LJ8', 78], ['TF', 14]]
>>> assigna_camio(lprod, 'C34', 250)
>>> lprod
[['AB4', 100, 'C34'], ['GH6', 71, 'C34'], ['PK7', 65, 'C34'], ['LJ8', 78], ['TF', 14, 'C34']]
En aquest cas, el producte 'LJ8' no es pot assignar al camió
perquè la quantitat associada, 78, faria que se superés la
capacitat del camió, 250. Però el producte 'TF' sí que es pot
assignar perquè la quantitat associada, 14, sumada a la quantitat
de productes assignats prèviament no supera la capacitat del camió.
Disposeu de més jocs de proves al fitxer
tests-assigna-camio.txt.
Solució
Disposeu d’una solució al fitxer camions.py