import random

garder = 0
changer = 0
n = 1000

for i in range(1, n + 1):
    portes = [1, 2, 3]

    voiture = random.randint(1, 3)   # porte cachant la voiture, tirée au hasard
    choix = random.randint(1, 3)     # choix initial du joueur, tiré au hasard

    # L'animateur ne peut ouvrir ni la porte choisie par le joueur,
    # ni celle qui cache la voiture. S'il reste deux portes possibles
    # (cas où le joueur avait déjà choisi la voiture), peu importe laquelle
    # il ouvre : cela ne change pas qui gagne. On en prend donc une seule,
    # sans tirage aléatoire.
    porte_ouverte = next(p for p in portes if p != choix and p != voiture)

    # La porte "restante" est celle que le joueur obtient s'il change d'avis :
    # ni celle qu'il avait choisie, ni celle que l'animateur vient d'ouvrir.
    porte_restante = [p for p in portes if p != choix and p != porte_ouverte][0]

    # Stratégie "garder" : le joueur reste sur son choix initial
    if choix == voiture:
        garder += 1

    # Stratégie "changer" : le joueur prend la porte restante
    if porte_restante == voiture:
        changer += 1

garder = garder / n
changer = changer / n

print("Proportion de victoires en gardant :", garder)
print("Proportion de victoires en changeant :", changer)
