\begin{questions}
\item \texttt{L.Liste} est \textit{a priori} une liste (d'après la ligne : \texttt{self.Liste = [ ]}).

Ainsi, l'affichage sera une liste. Regardons maintenant de plus près la définition de la fonction \texttt{add}:

\begin{itemize}
\item avant tout, si l'argument \texttt{x} est supérieur ou égal au dernier élément de la liste ou si la liste est vide, on ajoute la valeur de \texttt{x} à la liste;

\item sinon, si \texttt{x} contient une valeur strictement plus petite que le premier élément de la liste, on place la valeur de \texttt{x} en tête de la liste;

\item dans les autres cas, on parcourt la liste et on teste si la valeur contenue dans \texttt{x} est comprise entre deux valeurs de la liste. Si tel est le cas, on insère cette valeur entre les deux autres valeurs.
\end{itemize}

On peut alors dire que la fonction \texttt{add} ajoute la valeur de l'argument tout en faisant en sorte que la liste soit rangée dans l'ordre croissant.

\Par

Ainsi, le programme proposé affichera :
\Par
\begin{center}
\texttt{[7, 10, 50, 78, 89]}
\end{center}

\newpage

\item Voici une proposition pour la méthode \texttt{ecc}:

\qrset{height=1.1cm,version=5}\rput(-1,-0.7){
\psframebox{\qrcode{https://idl-live.prepamath.fr/ILTNSI/04-devinette.py}}}
\vspace*{-10pt}
\begin{listing}{}{04-devinette-q2.py}\end{listing}

\Par

Ici, on commence par créer une liste \texttt{E} dont le seul élément est le\linebreak premier de la liste \texttt{self.Liste}, puis on parcourt \texttt{self.Liste} à\linebreak partir du deuxième élément : pour chaque nombre d'index \texttt{i}, on lui ajoute \texttt{E[i-1]} et on stocke le résultat à la fin de la liste \texttt{E}, donc dans \texttt{E[i]}.

La boucle terminée, on retourne \texttt{E}, qui est la liste de tous les cumuls.

\begin{Remarque}
en statistiques, on appelle ces nombres les \textit{effectifs cumulés croissants}.
\end{Remarque}
\end{questions}
