CommencerCommencez gratuitement

Le module np.random et les essais de Bernoulli

Vous pouvez voir un essai de Bernoulli comme le lancer d’une pièce éventuellement 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 effectue n essais de Bernoulli, perform_bernoulli_trials(n, p), et qui renvoie le nombre de succès sur n essais de Bernoulli, chacun ayant une probabilité p de succès. Pour réaliser chaque essai de Bernoulli, utilisez la fonction rng.random(), qui renvoie un nombre aléatoire entre zéro et un.

Cet exercice fait partie du cours

<cours>Réflexion statistique en Python (Partie 1)</cours>
Voir le cours

Instructions de l’exercice

  • Définissez une fonction avec 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. Effectuez n itérations en bouclant sur range(n).
      • Pour réaliser un essai de Bernoulli, tirez un nombre aléatoire entre zéro et un avec rng.random(). Si le nombre tiré est inférieur à p, incrémentez n_success (utilisez l’opérateur += 1). Un RNG a déjà été instancié dans la variable rng et initialisé avec une graine.
    • La fonction renvoie 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