LoslegenKostenlos loslegen

Das Modul np.random und Bernoulli-Versuche

Einen Bernoulli-Versuch kannst du dir wie den Wurf einer möglicherweise unfairen Münze vorstellen. Genauer: Jeder Münzwurf hat die Wahrscheinlichkeit p, mit Kopf zu landen (Erfolg), und die Wahrscheinlichkeit 1−p für Zahl (Misserfolg). In dieser Übung schreibst du eine Funktion für n Bernoulli-Versuche, perform_bernoulli_trials(n, p), die die Anzahl der Erfolge aus n Bernoulli-Versuchen zurückgibt, wobei jeder Versuch die Erfolgswahrscheinlichkeit p hat. Für jeden Bernoulli-Versuch verwendest du die Funktion rng.random(), die eine Zufallszahl zwischen 0 und 1 zurückgibt.

Diese Übung ist Teil des Kurses

Statistical Thinking in Python (Teil 1)

Kurs anzeigen

Anleitung zur Übung

  • Definiere eine Funktion mit der Signatur perform_bernoulli_trials(n, p).
    • Initialisiere den Zähler der True-Werte (Erfolge bei Bernoulli-Versuchen) n_success mit Null.
    • Schreibe eine for-Schleife, in der du in jeder Iteration einen Bernoulli-Versuch durchführst und die Anzahl der Erfolge erhöhst, wenn das Ergebnis True ist. Führe n Iterationen aus, indem du über range(n) iterierst.
      • Um einen Bernoulli-Versuch durchzuführen, wähle mit rng.random() eine Zufallszahl zwischen 0 und 1. Wenn die gewählte Zahl kleiner ist als p, erhöhe n_success (verwende dazu den Operator += 1). Ein RNG wurde bereits als Variable rng instanziiert und mit einem Seed versehen.
    • Die Funktion gibt die Anzahl der Erfolge n_success zurück.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen