Aan de slagGa gratis aan de slag

De module np.random en Bernoulli-proeven

Je kunt een Bernoulli-proef zien als het opgooien van een mogelijk oneerlijke munt. Elke worp heeft kans \(p\) om kop (succes) te worden en kans \(1-p\) om munt (mislukking) te worden. In deze oefening schrijf je een functie die n Bernoulli-proeven uitvoert, perform_bernoulli_trials(n, p), die het aantal successen teruggeeft uit n Bernoulli-proeven, waarbij elke proef kans p op succes heeft. Gebruik voor elke Bernoulli-proef de functie rng.random(), die een willekeurig getal tussen nul en één teruggeeft.

Deze oefening maakt deel uit van de cursus

Statistisch denken in Python (deel 1)

Cursus bekijken

Oefeninstructies

  • Definieer een functie met de signatuur perform_bernoulli_trials(n, p).
    • Initialiseer de variabele n_success op nul; dit is de teller van True-waarden (successen in Bernoulli-proeven).
    • Schrijf een for-lus waarin je in elke iteratie een Bernoulli-proef uitvoert en het aantal successen verhoogt als het resultaat True is. Voer n iteraties uit door te lopen over range(n).
      • Om een Bernoulli-proef uit te voeren, kies je een willekeurig getal tussen nul en één met rng.random(). Als het gekozen getal kleiner is dan p, verhoog dan n_success (gebruik hiervoor de operator += 1). Er is al een RNG geïnstantieerd als de variabele rng en voorzien van een seed.
    • De functie retourneert het aantal successen n_success.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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
Code bewerken en uitvoeren