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)
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_successmit 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 ErgebnisTrueist. FührenIterationen aus, indem du überrange(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 alsp, erhöhen_success(verwende dazu den Operator+= 1). Ein RNG wurde bereits als Variablernginstanziiert und mit einem Seed versehen.
- Um einen Bernoulli-Versuch durchzuführen, wähle mit
- Die Funktion gibt die Anzahl der Erfolge
n_successzurück.
- Initialisiere den Zähler der
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