""" UNE APPROXIMATION DE pi PAR LA METHODE DE MONTE-CARLO """ """ Visualisation de la question précédente """ from math import* from random import* import matplotlib.pyplot as plt N=int(input("combien de simulations souhaitez-vous faire?")) # Tracé du quart de cercle h=1/N x=[k*h for k in range (N)] y=[sqrt(1-(k*h)**2) for k in range (N)] X=[] Y=[] Q=0 for i in range(N): X.append(random()) Y.append(random()) if (X[i]**2+Y[i]**2)<1: plt.scatter(X,Y,"b.",ms=3) # pour des points du nuage (X;Y) non reliés Q=Q+1 else: plt.scatter(X,Y,"r.",ms=3) frequence=Q/N print(frequence) approx_pi=4*frequence print("une approximation de pi est ",approx_pi) plt.axis(Xmin=0,Xmax=1,Ymin=0,Ymax=1) plt.plot(x,y) # pour des points du nuage (x;y) reliés par des segments plt.scatter(X,Y,"b.",ms=3) # pour des points du nuage (X;Y) non reliés title="Monte-Carlo pour ",N," simulations: pi égal " ,approx_pi, " environ" plt.title(title) plt.grid() plt.show()