Zacznij terazZacznij za darmo

Wyznaczanie progu opłacalności loterii

Symulacje pozwalają zadawać bardziej szczegółowe pytania, które niekoniecznie mają proste rozwiązanie analityczne. Zamiast rozwiązywać skomplikowane wzory matematyczne, otrzymujemy bezpośrednio wiele przykładowych wyników. Możemy przeprowadzać eksperymenty, modyfikując dane wejściowe i obserwując, jak zmiany te wpływają na cały system. Na przykład – dysponując odpowiednio dokładnym modelem globalnych wzorców pogodowych – można by ocenić skutki wzrostu emisji gazów cieplarnianych.

W przypadku loterii warto zastanowić się, jak drogi musi być bilet, żeby jego zakup przestał mieć sens. Aby to sprawdzić, trzeba modyfikować koszt biletu i obserwować, kiedy oczekiwany zysk staje się ujemny.

W środowisku dostępne są zmienne: grand_prize, num_tickets oraz chance_of_winning.

To ćwiczenie jest częścią kursu

Symulacje statystyczne w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Ustaw sims na 3000, a zmienną lottery_ticket_cost na 0.
  • Jeśli średnia wartość outcomes spadnie poniżej 0, wyjdź z pętli while za pomocą break.
  • W przeciwnym razie zwiększ lottery_ticket_cost o 1.

Interaktywne ćwiczenie praktyczne

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

# Initialize simulations and cost of ticket
sims, lottery_ticket_cost = ____, ____

# Use a while loop to increment `lottery_ticket_cost` till average value of outcomes falls below zero
while 1:
    outcomes = np.random.choice([-lottery_ticket_cost, grand_prize-lottery_ticket_cost],
                 size=sims, p=[1-chance_of_winning, chance_of_winning], replace=True)
    if outcomes.mean() < 0:
        ____
    else:
        ____ += 1
answer = lottery_ticket_cost - 1

print("The highest price at which it makes sense to buy the ticket is {}".format(answer))
Edytuj i uruchom kod