Le hasard joue un rôle crucial dans de nombreux domaines de la programmation, de la simulation scientifique aux jeux, en passant par la sécurité informatique et le choix de contenus personnalisés. Python, grâce à son module random, offre un ensemble riche et facile à utiliser de fonctionnalités qui permettent de manipuler le hasard de manière efficace. Cet article explore les fonctionnalités de base de Python pour générer des nombres aléatoires et sélectionner des éléments au hasard d'une liste, démontrant ainsi la puissance et la flexibilité du langage pour répondre à ces besoins.
Utiliser le hasard en programmation va permettre de générer de nombres aléatoires et de sélectionner aléatoirement des éléments dans des listes.
randomAu cœur de la manipulation du hasard en Python se trouve le module random. Ce module implémente des générateurs de nombres pseudo-aléatoires.
Aléatoire signifie "au hasard". On dit pseudo-aléatoire parce qu'il est difficile pour une ordinateur de générer un nombre qui soit vraiment aléatoire.
Pour commencer à l'utiliser, il suffit d'importer le module dans votre script Python :
import random
La fonction la plus élémentaire du module random est random.random(), qui génère un nombre flottant aléatoire compris entre 0.0 et 1.0. Cette fonction peut servir de base pour créer des nombres aléatoires dans n'importe quel intervalle.
Pour obtenir un entier aléatoire dans un intervalle spécifié, random.randint(a, b) est utilisée, où a et b sont les bornes de l'intervalle (inclusives).
# Génère un entier aléatoire entre 1 et 10
nombre_aleatoire = random.randint(1, 10)
print(nombre_aleatoire)
La sélection aléatoire d'éléments dans une liste est une opération courante, utile dans de nombreux contextes comme la création de jeux, le tirage au sort, ou la distribution de tâches. Python rend cette tâche particulièrement simple avec la fonction random.choice(sequence), où sequence est une liste (ou tout autre type de séquence) d'où un élément sera choisi aléatoirement.
# Liste d'éléments
elements = ['Pierre', 'Papier', 'Ciseaux']
# Sélectionne un élément au hasard
choix = random.choice(elements)
print(choix)
Le module random est largement utilisé dans la simulation et la modélisation, permettant de reproduire des phénomènes naturels, économiques ou sociaux avec une composante aléatoire.
De la génération de mondes aléatoires à la décision des actions des personnages non-joueurs, le hasard est essentiel pour créer des expériences de jeu variées et imprévisibles.
La génération de nombres aléatoires est cruciale pour la création de clés cryptographiques sécurisées, garantissant ainsi la confidentialité et l'intégrité des données.
Bien que le module random soit puissant, il génère des nombres pseudo-aléatoires basés sur un algorithme déterministe. Pour des applications nécessitant un haut degré de sécurité (comme la cryptographie), il est recommandé d'utiliser le module secrets, conçu spécifiquement pour générer des nombres aléatoires de manière plus sécurisée.
Que vous développiez des applications scientifiques, des jeux, ou des systèmes sécurisés, la capacité de générer des nombres aléatoires et de sélectionner des éléments au hasard dans des listes est un outil précieux. Le module random de Python offre une interface simple et puissante pour intégrer ces fonctionnalités dans vos programmes, rendant le hasard à la fois accessible et contrôlable.
random.randint et random.choice en PythonVoici 15 exercices pour apprendre à utiliser les fonctions randint et choice du module random. Ces exercices sont progressifs et adaptés à des élèves de secondaire.
Nombre aléatoire simple
Écris un programme qui génère un nombre entier aléatoire entre 1 et 10 et l'affiche.
Pair ou impair ?
Génère un nombre aléatoire entre 1 et 100, puis indique s’il est pair ou impair.
Jeu du devin
Génère un nombre aléatoire entre 1 et 20. L'utilisateur doit deviner ce nombre. Indique s'il est trop haut ou trop bas après chaque tentative.
Évaluation de mathématiques
Génère deux nombres aléatoires entre 1 et 10 et demande à l'utilisateur de calculer leur produit. Vérifie la réponse.
Moyenne de nombres aléatoires
Génère 5 nombres aléatoires entre 1 et 50, affiche-les, puis calcule leur moyenne.
choiceTirage au sort simple
Crée une liste de 5 prénoms (au choix) et utilise random.choice pour afficher un prénom tiré au hasard.
Tirage de plusieurs éléments
Crée une liste de 10 objets (par exemple : "stylo", "livre", "clavier", etc.). Affiche 3 objets choisis au hasard (sans gestion de doublons pour l'instant).
Mot aléatoire
Crée une liste de mots (exemple : ["chien", "chat", "oiseau", "poisson"]) et génère une phrase en ajoutant un mot aléatoire à "J'ai vu un(e) ...".
Générateur de menu
Crée trois listes : une pour les entrées, une pour les plats principaux et une pour les desserts. Choisis aléatoirement un élément dans chaque liste pour créer un menu.
Roulette des couleurs
Crée une liste contenant des couleurs (rouge, bleu, vert, jaune, etc.). Simule une roulette qui affiche une couleur au hasard à chaque tour.
randint et choiceQuiz avec questions aléatoires
Crée une liste contenant des questions simples (exemple : "Quelle est la capitale de la France ?", "Combien font 7 + 5 ?"). Utilise choice pour poser une question aléatoire.
Simulation de dé
Simule un lancer de dé à 6 faces avec randint. Répète l'expérience 10 fois et affiche le nombre de fois que chaque face apparaît.
Numéro de loto
Génère 6 nombres aléatoires entre 1 et 49 pour simuler un tirage de loto. Affiche les résultats triés.
Bataille de dés
Simule un jeu entre deux joueurs lançant chacun un dé (valeurs entre 1 et 6). Celui qui a la valeur la plus haute gagne. En cas d'égalité, recommence.
Code couleur aléatoire
Crée un générateur de couleurs en format hexadécimal. Pour cela, génère 6 valeurs aléatoires entre 0 et 15 (représentées par des chiffres ou des lettres de A à F).
L'objectif de cet exercice est de créer des phrases aléatoires et amusantes en utilisant le concept des cadavres exquis. Chaque phrase sera composée de quatre parties : un sujet, un verbe, un complément et une circonstance, choisis aléatoirement dans des listes pré-définies.
Crée un programme qui génère des phrases aléatoires en utilisant les listes ci-dessus.
À chaque exécution, le programme doit choisir :
Assemble les éléments pour former une phrase complète. Par exemple :
"Un dinosaure peint un arc-en-ciel sous la pluie."
Affiche cinq phrases différentes en exécutant une boucle.
Ces exercices permettent de travailler à la fois sur la compréhension des fonctions de random, sur les structures conditionnelles, les boucles et les manipulations de listes.