
\begin{enumerate}
\item Voici une proposition de fonction pour calculer l'espérance de $X$:

\begin{python}
def esperance(X):
    s = 0
    
    for c in X:
        s = s + c[0]*c[1]
        
    return s
\end{python}

Pour écrire cette fonction, je me suis inspiré de la formule permettant de calculer l'espérance:
\[
E(X)=\sum_{i=1}^n x_i \times pi
\]
On doit donc ajouter tous les produits $x_i \times p_i$, représentés en Python par \texttt{c[0]*c[1]}.

\item La variance de $X$ est l'espérance de la variable aléatoire $(X - E(X))^2$. On peut donc écrire la fonction suivante:
\begin{python}
def variance(X):
    E = esperance(X)
    
    # on construit Y par compréhension
    Y = [ ((c[0]-E)**2 , c[1]) for c in X ]
    
    return esperance(Y)
\end{python}

\newpage

Si vous n'êtes pas très à l'aise avec les listes par compréhension, on peut aussi voir les choses ainsi:
\begin{python}
def variance(X):
    E = esperance(X)
    Y = [ ]
    
    for c in X:
        Y.append( ( (c[0]-E)**2 , c[1] ) )
        
    return esperance(Y)
\end{python}
\begin{console}
>>> esperance(X), variance(X)
4.23, 2.6971
\end{console}
\end{enumerate}
