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.
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.