import matplotlib.pyplot as plt from matplotlib import patches from random import * from math import sqrt from math import pi def distance(x,y): return sqrt(x**2+y**2) def monte_carlo(n): #dessin du cercle fig=plt.figure() ax=fig.add_subplot(1,1,1) centreCircle = plt.Circle((0,0),1,color="red",fill=False) # ax.add_patch(centreCircle) #dessin des points c=0 for i in range(n): a,b = random(),random() if distance(a,b)<=1: c+=1 plt.plot(a,b,"r.") else: plt.plot(a,b,"b.") plt.axis("equal") plt.axhline(color='g') #l'axe (Ox) plt.axvline(color='g') #et (Oy) plt.title("Métode de Monte Carlo") texte1="Nombre de points dans le cercle/Nombre de points = ",c/n plt.text(-1.1,-0.3,texte1) texte2="Valeur approchée de pi/4 = ",round(pi/4,5) plt.text(-1.1,-0.5,texte2) plt.grid() plt.show() return c/n