Liten straight
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.
Hint
Start enkelt og bygg ut programmet etter kvart.
trille terning
trille tre terningar
ta vare på dei som er ulike, trille resten på nytt - tre rundar
gjenta mange gongar (simulering)
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