CommencezCommencez gratuitement

Le module np.random et les essais de Bernoulli

On peut voir un essai de Bernoulli comme le lancer d'une pièce possiblement biaisée. Plus précisément, chaque lancer a une probabilité p d'obtenir face (succès) et une probabilité 1-p d'obtenir pile (échec). Dans cet exercice, vous allez écrire une fonction qui exécute n essais de Bernoulli, perform_bernoulli_trials(n, p), et qui retourne le nombre de succès sur n essais de Bernoulli, chacun ayant une probabilité p de succès. Pour effectuer chaque essai de Bernoulli, utilisez la fonction rng.random(), qui retourne un nombre aléatoire entre zéro et un.

Cette activité fait partie du cours

Réflexion statistique en Python (Partie 1)

Voir le cours

Instructions de l’exercice

  • Définissez une fonction ayant la signature perform_bernoulli_trials(n, p).
    • Initialisez à zéro une variable n_success, le compteur de valeurs True, qui correspondent aux succès des essais de Bernoulli.
    • Écrivez une boucle for où vous effectuez un essai de Bernoulli à chaque itération et incrémentez le nombre de succès si le résultat est True. Exécutez n itérations en itérant sur range(n).
      • Pour effectuer un essai de Bernoulli, choisissez un nombre aléatoire entre zéro et un à l'aide de rng.random(). Si le nombre choisi est inférieur à p, incrémentez n_success (utilisez l'opérateur += 1 pour ce faire). Un GNA a déjà été instancié dans la variable rng et amorcé.
    • La fonction retourne le nombre de succès n_success.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

def perform_bernoulli_trials(n, p):
    """Perform n Bernoulli trials with success probability p
    and return number of successes."""
    # Initialize number of successes: n_success
    n_success = ____

    # Perform trials
    for i in ____:
        # Choose random number between zero and one: random_number


        # If less than p, it's a success so add one to n_success
        if ____:
            ____

    return n_success
Modifier et exécuter le code