def extreu_dades(s):
    if s.count(':') != 2:
        return ()
    else:
        ll = s.split(':')
        prod, preu, unitats = ll
        preu = preu[:-1]
        preu = float(preu.replace(',','.'))
        unitats = int(unitats)
        return preu, unitats    

def compara_compres(c1, c2, eps):
    r1 = extreu_dades(c1)
    r2 = extreu_dades(c2)   
    if len(r1) == 0 or len(r2) ==  0:
        return 'error'
    else:
        p1,u1 = r1
        p2,u2 = r2
        imp1 = u1*p1
        imp2 = u2*p2
        if abs(imp1 - imp2) < eps:
            return 'igual'
        else:
            return 'diferent'

def transforma_compres(lcomp,cref,eps):
    for i in range(len(lcomp)):
        res = compara_compres(lcomp[i],cref,eps)
        if res == 'error':
            lcomp[i] = 'error'
        elif res == 'igual':
            lcomp[i] = lcomp[i] + '*'
        
