Zacznij terazZacznij za darmo

Moduł np.random i próby Bernoulliego

Próbę Bernoulliego możesz wyobrazić sobie jako rzut (niekoniecznie symetryczną) monetą. Każdy rzut daje wynik „orzeł" (sukces) z prawdopodobieństwem \(p\) lub „reszka" (porażka) z prawdopodobieństwem \(1-p\). W tym ćwiczeniu napiszesz funkcję perform_bernoulli_trials(n, p), która wykonuje n prób Bernoulliego i zwraca liczbę sukcesów. Każda próba ma prawdopodobieństwo sukcesu równe p. Do przeprowadzenia pojedynczej próby użyj funkcji rng.random(), która zwraca losową liczbę z przedziału od zera do jedności.

To ćwiczenie jest częścią kursu

Myślenie statystyczne w Pythonie (część 1)

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj funkcję o sygnaturze perform_bernoulli_trials(n, p).
    • Zainicjalizuj zmienną n_success wartością zero – będzie ona liczyć wystąpienia wartości True, czyli sukcesy w próbach Bernoulliego.
    • Napisz pętlę for, w której każda iteracja wykonuje próbę Bernoulliego i zwiększa licznik sukcesów, jeśli wynik jest True. Wykonaj n iteracji, przechodząc po elementach range(n).
      • Aby przeprowadzić próbę Bernoulliego, wylosuj liczbę z przedziału od zera do jedności za pomocą rng.random(). Jeśli wylosowana liczba jest mniejsza niż p, zwiększ n_success (użyj operatora += 1). Zmienna rng zawierająca zainicjalizowany generator liczb pseudolosowych jest już dostępna w kodzie.
    • Funkcja zwraca liczbę sukcesów n_success.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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
Edytuj i uruchom kod