11. Randomiser - random

Dans ce chapitre, nous verrons comment un programme peut introduire un élément aléatoire dans un calcul ou dans un raisonnement. Ceci est très important pour programmer certains jeux. Nous allons voir que :

  • la fonction random() renvoie une valeur aléatoire dans l’intervalle [0, 1],

  • la fonction randint(a, b) renvoie un entier aléatoire dans l’intervalle [a, b],

  • la fonction shuffle(liste) fait une permutation aléatoire des éléments d’une liste.

Question

En Python, random est




Le contenu du module

Le module random permet de créer des nombres pseudoaléatoires. Il met à disposition 13 fonctions.

Nombre aléatoire

La fonction random() retourne un nombre aléatoire dans l’intervalle [0, 1].

Nous pouvons visualiser ceci dans un graphique.

Entier aléatoire

La fonction randint(a, b) retourne un entier aléatoire dans l’intervalle [a, b].

Nous pouvons visualiser ceci dans un graphique.

Sous la belle étoile

Les étoiles dans le ciel apparaissent à des positions plus au moins aléatoires. Nous calculons x et y comme des entiers aléatoires, choisis dans l’intervalle de la largeur et de la hauteur de la fenêtre.

Nous choisissons la taille d avec une distribution normale (de Gauss) avec une moyenne de 3 et un sigma de 2.

La voie lactée

Pour arranger les étoiles plus dans une bande horizontale, comme dans la voie lactée, nous utilisons pour la variable y une distribution normale (de Gauss) avec une moyenne de 0 et un sigma de 50.

Fleurs dans un champ

Dans l’exemple suivant, nous plaçons des fleurs à des positions aléatoires dans un champ.

Choisir dans une liste

La fonction choice(liste) retourne un élément aléatoire d’une liste. Dans l’exemple suivant, nous choisissons parmi 5 couleurs.

Nous pouvons aussi choisir aléatoirement dans une liste numérique, avec différentes tailles de points, par exemple.

Cube de Rubik

Depuis une liste avec les 6 couleurs du cube de Rubik nous en choisissons une aléatoirement, pour dessiner un cube dans son état défait.

Distribution normale

Dans l’exemple suivant les variables x e y suivent une distribution normale avec une moyenne de 0 et un sigma de 50.

Zoo

Pour simuler la perspective, nous dessinons les animaux proches plus grands.

Champs de fleurs

Pour simuler la perspective, nous dessinons les fleurs proches plus grandes.

Aquarium

Nous ajoutons des feuillages en bas de l’aquarium et intercalons les poissons avec les plantes.

Rouler un dé

Exercice : Modifiez le code pour afficher le dé avec un nombre aléatoire entre 1 et 6.

Permuter

La fonction shuffle() permet de permuter les éléments d’une liste. Ceci est l’équivalent de ce qu’on fait avec des cartes de jeux, quand on les mélange.

Mélanger des cartes

La fonction shuffle() permet de mélanger ou permuter aléatoirement une liste. Nous l’utilisons pour mélanger nos cartes de jeu.