IniziaInizia gratis

Calcolare il prezzo di pareggio della lotteria

Le simulazioni ci permettono di porre domande più sfumate che potrebbero non avere una facile soluzione analitica. Invece di risolvere una formula matematica complessa, otteniamo direttamente molteplici esiti campionati. Possiamo eseguire esperimenti modificando gli input e studiando come questi cambiamenti influenzano il sistema. Per esempio, una volta che abbiamo un modello ragionevole dei pattern climatici globali, potremmo valutare l’impatto dell’aumento delle emissioni di gas serra.

Nel caso della lotteria, potremmo voler sapere quanto deve costare il biglietto perché non abbia senso comprarlo. Per capirlo, dobbiamo modificare il costo del biglietto per vedere quando il valore atteso diventa negativo.

grand_prize, num_tickets e chance_of_winning sono già caricati nell’ambiente.

Questo esercizio fa parte del corso

Simulazione statistica in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Imposta sims a 3000 e la variabile lottery_ticket_cost a 0.
  • Se il valore medio di outcomes scende sotto 0, esci dal ciclo while con break.
  • Altrimenti, incrementa lottery_ticket_cost di 1.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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))
Modifica ed esegui il codice