Обчислення беззбиткової ціни лотерейного квитка
Симуляції дають змогу ставити тонші запитання, на які не завжди є проста аналітична відповідь. Замість розв'язання складної формули ми безпосередньо отримуємо багато вибіркових результатів. Ми можемо проводити експерименти, змінюючи вхідні дані й вивчаючи, як ці зміни впливають на систему. Наприклад, маючи достатньо реалістичну модель глобальних погодних процесів, можна оцінити вплив зростання викидів парникових газів.
У прикладі з лотереєю нам може бути цікаво, наскільки дорогим має бути квиток, щоб його було недоцільно купувати. Щоб це зрозуміти, потрібно змінювати вартість квитка й подивитися, коли очікуваний виграш стане від'ємним.
grand_prize, num_tickets і chance_of_winning уже завантажені в середовище.
Ця вправа є частиною курсу
Статистичне моделювання в Python
Інструкції до вправи
- Встановіть
simsна 3000, а зміннуlottery_ticket_cost— на0. - Якщо середнє значення
outcomesопускається нижче0, виконайтеbreakіз циклуwhile. - Інакше збільшіть
lottery_ticket_costна 1.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))