Menu
CoddyTech

Somme dei dadi

Fa parte della sezione Statistica per il machine learning del percorso Machine Learning di Coddy. Lezione 15 di 64.

Lancia due dadi e somma i risultati: esce 7 sei volte più spesso di 2. Conta le coppie di facce:

Una griglia 6 per 6 delle somme di due dadi, con il primo dado a lato e il secondo in alto. Le sei celle che danno 7 corrono da un angolo all'altro e sono ombreggiate; solo una cella dà 2

Una simulazione conferma. Aggiungi i risultati dei dadi uno alla volta, poi conta ogni totale; value_counts elenca prima i più comuni:

rng = np.random.default_rng(2)
first = rng.integers(1, 7, size=3600)
second = rng.integers(1, 7, size=3600)
counts = pd.Series(first + second).value_counts()
print(counts.head(3))

Questo stampa:

7    605
6    522
8    443
Name: count, dtype: int64

ax.bar(counts.index, counts) disegna l’intera tenda:

Un grafico a barre di 3600 lanci di due dadi: le barre salgono da circa 100 per un totale di 2 fino a un picco di circa 600 a 7, poi ridiscendono a circa 100 a 12

Un grafico a barre come questo è il tuo primo sguardo a qualsiasi etichetta: i suoi valori rari sono quelli che un modello imparerà a malapena.

challenge icon

Sfida

Medio

In un gioco di ruolo, il danno è il totale di due dadi a quattro facce, ciascuno da 1 a 4. Il programma legge il numero di attacchi; il codice iniziale salva i risultati dei tiri in first e second ed etichetta il grafico.

  1. Conta ogni totale dei danni.
  2. Stampa il danno più probabile e la sua quota degli attacchi, con 3 decimali.
  3. Disegna i conteggi con barre, una per ogni totale, e mostrale.

Per 16 attacchi, troppo pochi per fidarsi:

Most likely damage: 6, share 0.312

Un grafico a barre intitolato Damage Rolls per 16 attacchi: barre a 3, 5, 6, 7 e 8, la più alta a 6 con 5 tiri

Poi Coddy descrive il tuo grafico. Con più attacchi, il picco si stabilizza.

Provalo tu

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

rolls = int(input())

# No cambies las líneas de abajo
rng = np.random.default_rng(4)
first = rng.integers(1, 5, size=rolls)
second = rng.integers(1, 5, size=rolls)

fig, ax = plt.subplots()
ax.set_title("Damage Rolls")
ax.set_xlabel("Damage")
ax.set_ylabel("Rolls")

# Escribe tu código abajo
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Statistica per il machine learning

Esercitati da solo: Compilatore Python online