Comment générer des nombres aléatoires en Python (module aléatoire)

Apprenez à générer des nombres aléatoires en Python. Comparez la génération de randrange, de randint et de flotteur uniforme avec le contrôle d'ensemencement.

Essayez cette solution dans l'éditeur

Aperçu

La génération de nombres aléatoires est une exigence clé pour programmer des jeux, sélectionner des éléments aléatoires dans des ensembles de données, écrire des applications de cryptographie et effectuer des simulations statistiques. Python fournit une bibliothèque intégrée dédiée nommée « random » pour gérer la génération de nombres pseudo-aléatoires.

Si vous avez besoin d'un entier aléatoire dans une plage spécifique, la fonction « random.randint(a, b) » est l'outil le plus courant, renvoyant un entier aléatoire où les deux points de terminaison sont inclusifs. Alternativement, `random.random()` génère un nombre à virgule flottante compris entre 0,0 (inclus) et 1,0 (exclusif), qui peut être mis à l'échelle mathématiquement pour s'adapter aux limites personnalisées.

Pour rendre les simulations et les tests reproductibles, vous pouvez utiliser la fonction `random.seed()`. Fournir un entier de départ garantit que la séquence de nombres générés sera identique à chaque exécution du code. Pour les opérations cryptographiques nécessitant une haute sécurité (comme la génération de jetons), les générateurs pseudo-aléatoires standards doivent être évités au profit du module `secrets`.

Sortie de code et d'exécution

Ce script montre la génération d'entiers aléatoires, de flottants et la sélection d'éléments avec le module random.

random_numbers.py
Essayez dans l'éditeur
import random

# Setting a seed for deterministic output in this example
random.seed(42)

# 1. Generate a random integer between 1 and 10 (inclusive)
random_int = random.randint(1, 10)
print("Random Integer (1-10):", random_int)

# 2. Generate a random float between 0.0 and 1.0
random_float = random.random()
print("Random Float (0-1):", round(random_float, 4))

# 3. Select a random element from a list
fruits = ["apple", "banana", "cherry"]
random_choice = random.choice(fruits)
print("Random Choice:", random_choice)
Sortie terminale
Random Integer (1-10): 2
Random Float (0-1): 0.025
Random Choice: banana

Mise en œuvre étape par étape

  • Importez le module aléatoire au début de votre script.
  • Utilisez random.randint(min, max) pour générer un entier aléatoire où les deux points de terminaison sont inclusifs.
  • Utilisez random.random() pour générer un flottant aléatoire entre 0,0 et 1,0.

Foire aux questions

Comment générer un flottant aléatoire dans une plage personnalisée ?

Utilisez random.uniform(a, b) pour obtenir un nombre aléatoire à virgule flottante entre a et b.

Le module aléatoire est-il sécurisé pour une utilisation cryptographique ?

Non, le module random est pseudo-aléatoire et ne doit pas être utilisé à des fins de sécurité. Utilisez plutôt le module secrets.

Sujets connexes

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.