开始使用免费开始使用

计算彩票的盈亏平衡价格

模拟可以让我们提出更细致的问题,而这些问题未必有简单的解析解。与其求解复杂的数学公式,我们可以直接获得多次采样的结果。通过修改输入并观察系统的响应,您就能"做实验"。例如,一旦我们有了较为合理的全球气候模型,就可以评估温室气体排放增加的影响。

回到彩票示例,我们可能想知道:彩票价格多高时,购买就不再划算。为此,需要调整票价,观察何时期望回报为负。

环境中已加载 grand_prizenum_ticketschance_of_winning

本练习是课程的一部分

Python 中的统计模拟

查看课程

练习说明

  • sims 设为 3000,并将变量 lottery_ticket_cost 设为 0
  • 如果 outcomes 的均值低于 0,则从 while 循环中 break
  • 否则,将 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))
编辑并运行代码