from random import random
import matplotlib.pyplot as plt

def is_in():
    a = random() # choisit un nombre aléatoire entre 0 et 1
    b = random()
    x = -1 + 2 * a # absisse d'un point M comprise entre -1 et 1
    y = -1 + 2 * b # ordonnée de M comprise entre -1 et 1
    
    d = x**2 + y**2  # carré de la distance OM

    if d <= 1: # si M est dans le disque...
        return 1
    else:     # sinon...
        return 0

def simul():
    N = 0 # nombre de points à l'intérieur du disque
    f = 100000

    for _ in range(f):
        N += is_in() # équivalent à N = N + is_in()

    return 4 * N / f


# Lancer 301 fois la fonction simul() et tracer les points
x_values = list(range(301))
y_values = [simul() for _ in range(301)]

plt.scatter(x_values, y_values)
plt.title('Méthode de Monte-Carlo')
plt.show()

