Začněte nyníZačněte zdarma

Výpočet ceny loterního lístku na hranici zisku

Simulace nám umožňují klást složitější otázky, na které nemusí existovat jednoduchá analytická odpověď. Místo řešení komplikovaných matematických vzorců přímo získáváme více vzorových výsledků. Provádět experimenty pak znamená jednoduše upravit vstupní hodnoty a sledovat, jak tyto změny ovlivňují celý systém. Například se základním modelem globálních klimatických vzorců bychom mohli vyhodnotit dopady zvýšených emisí skleníkových plynů.

V příkladu s loterií nás může zajímat, jak drahý musí být lístek, aby se jeho koupě přestala vyplácet. Abychom to zjistili, budeme měnit cenu lístku a sledovat, kdy se očekávaný výnos dostane do záporných čísel.

V prostředí jsou načteny proměnné grand_prize, num_tickets a chance_of_winning.

Toto cvičení je součástí kurzu

Statistické simulace v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Nastav sims na 3000 a proměnnou lottery_ticket_cost na 0.
  • Pokud průměrná hodnota outcomes klesne pod 0, ukonči while smyčku pomocí break.
  • Jinak zvyš lottery_ticket_cost o 1.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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))
Upravit a spustit kód