def eval_op(total, op, vl):
    t = total
    if op == '+':
        t += vl
        ok = True
    elif op == '-':
        t -= vl
        ok = True
    elif op == '*':
        t *= vl
        ok = True
    elif op == '/':
        if vl == 0.0:
            ok = False
        else:
            t = round(t/vl, 1)
            ok = True
    else:
        ok = False
    return ok, t

def eval(vlini, op1, vl1, op2, vl2, op3, vl3, op4, vl4):
    ok, sol = eval_op(vlini, op1, vl1)
    if ok:
        ok, sol = eval_op(sol, op2, vl2)
        if ok:
            ok, sol = eval_op(sol, op3, vl3)
            if ok:
                ok, sol = eval_op(sol, op4, vl4)
                if ok:
                    return True, sol
                else:
                    return False, vlini
            else:
                return False, vlini
        else:
            return False, vlini
    else:
        return False, vlini

# una solució més compacta

def avalua2(vlini, op1, vl1, op2, vl2, op3, vl3, op4, vl4):
    ok, sol = eval_op(vlini, op1, vl1)
    if not ok: return False, vlini
    ok, sol = eval_op(sol, op2, vl2)
    if not ok: return False, vlini
    ok, sol = eval_op(sol, op3, vl3)
    if not ok: return False, vlini
    ok, sol = eval_op(sol, op4, vl4)
    if not ok: return False, vlini
    else:
        return True, sol
