def Lagrange(points):
    """**Lagrange**\\ (*points*)
    Renvoie le polynôme d'interpolation de Lagrange pour les points de coordonnées *points*

    Est prévue pour être utilisé avec :py:func:`choix_points`

    Associé à  :py:func:`pyromaths.outils.Priorites3.priorites`, permet d'obtenir sa version réduite.

    Associé à  :py:func:`pyromaths.outils.Priorites3.plotify`, permet d'obtenir sa version utilisable avec psplot.

    >>> from pyromaths.ex.troisiemes import notion_de_fonction
    >>> p = notion_de_fonction.Lagrange(((-4, -2), (-2, 0), (0,4), (2,-4), (4,2)))

    >>> from pyromaths.outils import Priorites3
    >>> Priorites3.priorites(p)[-1]
    ['Polynome([[Fraction(5, 48), 4], [Fraction(1, 8), 3], [Fraction(-23, 12), 2], [Fraction(-3, 2), 1], [Fraction(4, 1), 0]], "x", 0)']
    >>> Priorites3.plotify(Priorites3.priorites(p)[-1])
    5/48*x^4+1/8*x^3-23/12*x^2-3/2*x^1+4/1
    """
    PIL = []
    for i in range(len(points)):
        if points[i][1]:
            PIL.append('Fraction(%s, ' % points[i][1])
            produit = []
            for j in range(len(points)):
                if j != i:
                    produit.append(repr(points[i][0] - points[j][0]))
            produit = repr(eval('*'.join(produit)))
            PIL[i] += produit + ')*'
            produit = []
            for j in range(len(points)):
                if j != i and points[j][0] > 0:
                    produit.append('Polynome("x-%s", details = 0)' % points
                        [j][0])
                elif j != i and points[j][0] < 0:
                    produit.append('Polynome("x+%s", details = 0)' % -
                        points[j][0])
                elif j != i and points[j][0] == 0:
                    produit.append('Polynome("x", details = 0)')
            produit = '*'.join(produit)
            PIL[i] += produit
        else:
            PIL.append('0')
    return '+'.join(PIL)
