Le jeu d'origine provient de la revue "L'ordinateur de poche n°22 (1984) page 42" que vous pourrez télécharger ici
L'organigramme du jeu est le suivant (PL = Points de Liberté) :

Le programme final est disponible ci-dessous.
Quelles sont les probabilités de gagner à ce jeu lorsqu'au départ nous avons un seul point de liberté ? 2 points ? 3 points ? Pour le savoir, nous allons demander à la machine de jouer toute seule et nous calculerons les fréquences de succès dans les différents cas.
from random import *
def go(PL = 1): # un seul PL par defaut
gagne = 0 # nb de parties gagnees
nbsimul = 10000 # nb de simulations
for k in range(nbsimul):
if jeu(PL): gagne += 1 # +1 si on gagne
return gagne / nbsimul # frequence observee
def jeu(PL):
while True: # boucle principale
plats = ["1","2","3","4"] # Liste des plats
poison = choice(plats) # Ordi choisit plat avec poison
choix = choice(plats) # Joueur choisit un plat pr ennemi
plats.remove(choix) # On enleve le plat
if choix == poison:
PL += 1 # Ennemi meurt donc +1 pour nous
if PL == 4: return True # On gagne la partie
else:
choix = choice(plats) # Joueur choisir un plat pr lui
if choix == poison: # oups, plat avec poison
if PL > 1: PL -= 1 # -1 si on a encore des PL
else: return False # Sinon on perd la partie
En lançant le programme avec différents paramètres on obtient :
go() 0.2491 # 25% de chance de gagner avec un seul PL au départ > go(2) 0.5044 # 50% de chance de gagner avec un 2 PL au départ > go(3) 0.7527 # 75% de chance de gagner avec un 3 PL au départ
from random import * def go(): PL = 2 while True : plats = ["1","2","3","4"] poison = choice(plats) print("PL =", PL) print("Plat pour ennemi de Cleopatre ?") choix = input("1234 ? ") plats.remove(choix) if choix == poison: print("Bon choix ! Il meurt") PL += 1 if PL == 4: return "Vous etes libre !" else: print("Il se regale !") print("Maintenant pour vous :") choix = input("".join(plats) + " ? ") if choix == poison: print("Il contient du poison !") if PL > 1: PL -= 1 else: return "Vous etes mort !" else: print("Vous avez de la chance !")