
Un programme possible est le suivant :

\begin{python}
from random import random
n = 0
for i in range(5000):
    x = random()
    y = random()
    if (y < x*x):
        n+=1
print(n/5000)
\end{python}

Explications:
\begin{itemize}
\item On commence par importer le module \textit{random} qui permet de simuler l'aléatoire;
\item on initialise la variable \texttt{n} à 0 : c'est la variable qui va compter le nombre de points en dessous de la courbe;
\item on créé une boucle de sorte à répéter \numprint{5000} fois l'expérience consistant à choisir au hasard deux nombres \texttt{x} et \texttt{y}, qui vont jouer le rôle des coordonnées du point;
\item on teste si $y<x^2$ : si tel est le cas, cela signifie que le point est bien en dessous de la courbe et on incrémente \texttt{n} (on lui ajoute 1);
\item une fois sortis de la boucle, on affiche la valeur de $\dfrac{n}{\numprint{5000}}$, qui correspond à la fréquence de points obtenus en dessous de la courbe.
\end{itemize}


Voici trois résultats successifs: $0,3358\qquad;\qquad0,3326\qquad;\qquad0,3308$.

On peut modifier légèrement le programme afin qu'il simule plus de choix:

\begin{python}
from random import random
n = 0
c = int(input('Nombre de choix : '))
for i in range(c):
    x = random()
    y = random()
    if (y < x*x):
        n+=1
print(n/c)
\end{python}

On peut ainsi choisir le nombre de choix. Il semble que plus le nombre de choix augmente, plus la fréquence se rapproche de 0,333333...
