def calcula_desc(preu,quant,esencial,descompte,tipusc):
    nou_preu = preu
    if esencial == 'F':
        if tipusc == 'VIP' or quant >= 3:
            desc = preu*descompte/100
            nou_preu = round(preu - desc, 2)
            if nou_preu < 1.0:
                nou_preu = 1.0
    return nou_preu

# una altra versió

def calcula_desc2(preu, unitats, essencial, perc_desc, tipus):
    if essencial == 'F' and (tipus == 'VIP' or unitats >= 3):
        preu = max(1, preu*(1 - perc_desc/100))
    return round(float(preu), 2)

def aplica_promocio(cistella, descompte, tipusc):
    for i in range(len(cistella)):
        ll = cistella[i].split(",")
        nom, preu, quant, esencial = ll
        preu = float(preu)
        quant = int(quant)
        nou_preu = calcula_desc(preu,quant,esencial,descompte,tipusc)
        noustr = nom + ',' + str(nou_preu)
        cistella[i] = noustr
