import random def keep(d): """ Denne funksjonen simulerer tilfellet hvor man velger å beholde døren man valgte først. Det gjøres ved at man bare sjekker hva som er bak den første døren umiddelbart, og returnerer True om man vinner og False om man taper. """ if d[0] == "Car": return True else: return False def switch(d): """ Denne funksjonen simulerer tilfellet hvor man velger å bytte til den siste gjenværende døren. Det gjøres ved at man bare sjekker hva som er bak den første døren, ettersom man i dette tilfellet alltid vinner dersom det er en geit bak døren man valgte først. Returnerer False om det er en bil der, og ellers True. """ if d[0] == "Car": return False else: return True def main(): doors = ["Goat", "Goat", "Car"] # Variabel for antall spill som blir simulert rounds = 10000 # Tellere for antall seire med henholdsivs behold- og bytte-strategi. k_wins = 0 s_wins = 0 # Løkke som kjører spillet for i in range(rounds): # I stedet for å velge en tilfeldig dør, bare stokker vi om det som er bak og velger alltid dør 1. random.shuffle(doors) if keep(doors): k_wins += 1 if switch(doors): s_wins += 1 # Printer ut antall seiere med de to strategiene som en prosent print(f"Win % when keeping: {k_wins*100/rounds}%") print(f"Win % when switching: {s_wins*100/rounds}%\n") main()