Dans la théorie des probabilités telle qu'elle a été axiomatisée par Kolmogorov, un évènement est noté par la liste des éventualités qui le réalisent, notée entre accolades.
Représentation des évènements en Python.
Évènements certain et impossible.
L'évènement impossible est noté formula_1.
L'évènement certain (noté formula_2) est la liste de toutes les éventualités. Pour savoir si un élément est dans un ensemble, on utilise le mot-clé "in" comme dans "6 in omega" qui est un booléen.
Avec un dé.
On s'apprête à lancer un dé. Alors l'évènement "le résultat sera plus petit que 5" est décrit par l'ensemble formula_3. De même, l'évènement "le résultat sera pair" est représenté par formula_4.
En "Python" cela donne :
Avec des cartes.
Cette fois-ci, on extrait au hasard une carte parmi un jeu de 32 cartes.
Faire la liste des 32 cartes (pour constituer l'univers) est un peu fastidieux, alors on va laisser "Python" le faire :
for v in valeurs:
 for c in couleurs:
 univers.add(str(v)+' '+c)
univers.remove(0)
print(len(univers))
Il a été nécessaire de mettre initialement un "0" dans l'univers, puis de l'enlever à la fin. C'est pour tromper le typage faible de "Python" qui considère les accolades vides comme un objet de type "dictionnaire" et non comme un ensemble. De plus, on transforme les valeurs des cartes en texte même si ce sont des nombres.
L'évènement "la carte est une figure" (pas un nombre) se construit par
for v in {'Valet','Dame','Roi'}:
 for c in couleurs:
 figure.add(v+' '+c)
figure.remove(0)
print(univers)
Et l'évènement "la carte est un pique" se construit de manière analogue :
for v in valeurs:
 pique.add(str(v)+' pique')
pique.remove(0)
print(pique)
Calcul d'évènements.
Évènements simultanés.
Notation.
L'évènement "A et B" se note formula_5, et l'opération se note en "Python" par une esperluette ("&") qui est d'ailleurs une ancienne représentation du mot "et" en latin.
Avec le dé.
print(petit&pair)
Avec les cartes.
print(figure&pique)
L'affichage confirme qu'il n'y a que trois cartes qui sont à la fois des figures et des piques : Les trois figures de pique Ogier, Pallas et David.
Disjonction.
Notation.
De même l'évènement "A ou B" se note formula_6, et en "Python", le symbole "pipe" (trait vertical). "Python" enlève automatiquement les doublons.
Avec le dé.
print(petit|pair)
Avec les cartes.
print(figure|pique)
print(len(figure|pique))
On peut compter les 17 cartes à la main, mais le comptage par "Python" est plus sûr. On constate que pour "Python", le nombre d'éventualités d'un évènement s'appelle sa longueur.
Contraire d'un évènement.
Pour calculer le contraire d'un évènement, on le soustrait à l'univers.
Avec le dé.
print(univers-petit)
print(univers-pair)
On constate que le contraire de "pair" est "impair"...
Avec les cartes.
print(univers-figure)
print(univers-pique)
Probabilités.
On a vu ci-dessus que pour "Python", le nombre d'éléments d'un évènement est appelé sa longueur. On peut alors définir la probabilité d'un évènement comme le quotient de sa longueur par celle de l'univers.
Avec le dé.
def proba(evenement):
 return len(evenement)/len(univers)
print(proba(petit))
print(proba(pair))
print(proba(univers/pair&petit))
p1=proba(petit)+proba(pair)-proba(petit&pair)
p2=proba(petit|pair)
print(p1==p2)
Avec les cartes.
def proba(evenement):
 return len(evenement)/len(univers)
print(proba(figure))
print(proba(pique))
print(proba(univers))
p1=proba(figure)+proba(pique)-proba(figure&pique)
p2=proba(figure|pique)
print(p1==p2)

Mathématiques avec Python et Ruby/Nombres pseudoaléatoires en Python