Aléatoire - random
¶
Prérequis:
- les types de nombres et de variables
- les listes
Le module qui gère l’aléatoire en python est le module random
:
from random import *
Les nombres au hasard¶
Nombre flottant (réel) entre 0 et 1:
>>> random() 0.49852220170348827
Nombre flottant entre deux bornes.
Pour tirer un nombre au hasard entre 10 et 12.5:
y = uniform(10, 12.5)
Nombre entier entre deux bornes:
>>> randint(0, 20) 20
Les deux bornes sont incluses dans les cas possibles.
Générer une probabilité p
32 % de chance de gagner à ce jeu...
if random() <= 0.32:
print("gagné")
else:
print("perdu")
Les listes aléatoires¶
Créer une liste aléatoire de 1000 nombres entiers entre 0 et 100:
liste = [] for i in range(1000): liste.append( randint(0, 100) )
Mélanger une liste:
shuffle(liste)
Choisir au hasard un élément d’une liste:
N = choice(liste)
Extraire au hasard k éléments d’une liste
Extrait aléatoirement trois éléments de la liste:
jeu = sample(liste, 3)
Avertissement
La liste n’est pas modifiée (les 3 éléments choisis sont encore présents dans la liste).
Exemple complet¶
from random import *
# un jeu de carte
couleur = ["pique", "coeur", "carreau", "trèfle"]
hauteur = ["As", "Roi", "Dame", "Valet", "Dix", "Neuf", "Huit", "Sept"]
jeu = []
for c in couleur:
for h in hauteur:
jeu.append(h+" de "+c)
print("Le jeu neuf :")
print(jeu)
# mélanger
shuffle(jeu)
print("Le jeu mélangé")
print(jeu)
# Choisir au hasard le nombre de carte à donner
N = randint(3, 10)
print("Je donne "+str(N)+" cartes")
# Donner N cartes
donne = sample(jeu, N)
print("Les voilà :")
print(donne)
# Attention les cartes données sont encore dans le jeu
print("Le jeu est-il complet ?")
print(len(jeu))