Liten straight#

Kva er sannsynet for å trilla liten straight (1, 2, 3, 4, 5) på ein runde i Maxi Yatzy, altså med 6 terningar? Det er tre kast kvar runde og du kan ta vare på dei terningane du vil frå kast til kast.

import numpy as np
from numpy.random import default_rng
rng = default_rng()

# trille antall terninger 
def trille(antall):
    return rng.integers(1, 7, size = antall)

# Sjekke om ls. (både liten, stor og full straight er ok
def sjekk_ls(terningar):
    return ((len(terningar)==5 and terningar[0] == 1 and terningar[-1] == 5) 
            or (len(terningar)==6 and terningar[0] == 1 and terningar[-1] == 6))

# triller etter liten straight på 3 kast
def liten_straight():
    ls = False

    kast = trille(6)

    for i in range(2):
        kast = np.unique(kast)
        kast = np.append(kast, trille(6 - len(kast)))

    kast = np.unique(kast)

    return sjekk_ls(kast)

# Sjølve simuleringa
suksess = 0
N = 100000

for i in range(N):
    if liten_straight():
        suksess += 1

print(f"Det er {suksess/N:.2%} sannsynlighet for å trille liten straight på 3 kast")
Det er 29.89% sannsynlighet for å trille liten straight på 3 kast