Générer des entiers aléatoires dans la plage en Python

Manav Narula 30 janvier 2023
  1. Utilisez la fonction random.randint() pour générer des entiers aléatoires entre une plage spécifique en Python
  2. Utilisez la fonction random.randrange() pour générer des entiers aléatoires entre une plage spécifique en Python
  3. Utilisez la fonction random.sample() pour générer des entiers aléatoires entre une plage spécifique en Python
  4. Utilisez le module NumPy pour générer des entiers aléatoires entre une plage spécifique en Python
Générer des entiers aléatoires dans la plage en Python

Python est un outil très utile pour l’analyse des données. Lorsque nous traitons des scénarios du monde réel, nous devons générer des valeurs aléatoires pour simuler des situations et y travailler.

Python a le module random et le NumPy disponibles, qui ont des méthodes efficaces disponibles pour travailler et générer des nombres aléatoires avec facilité.

Dans ce tutoriel, nous allons générer des entiers aléatoires entre une plage spécifique en Python.

Utilisez la fonction random.randint() pour générer des entiers aléatoires entre une plage spécifique en Python

La fonction randint() est utilisée pour générer des entiers aléatoires entre une plage spécifiée. Les positions de début et de fin sont transmises à la fonction en tant que paramètres.

Par exemple,

import random

x = random.randint(0, 10)
print(x)

Production:

8

Pour générer une liste de nombres aléatoires avec cette fonction, nous pouvons utiliser la méthode de compréhension de liste avec la boucle for comme indiqué ci-dessous:

import random

x = [random.randint(0, 9) for p in range(0, 10)]
print(x)

Production:

[1, 6, 6, 5, 8, 8, 5, 5, 8, 4]

Notez que cette méthode n’accepte que les valeurs entières.

Utilisez la fonction random.randrange() pour générer des entiers aléatoires entre une plage spécifique en Python

La fonction randrange() renvoie également un nombre aléatoire dans une plage et n’accepte que des valeurs entières, mais ici nous avons la possibilité de spécifier un paramètre très utile appelé step. Le paramètre step nous permet de trouver un nombre aléatoire divisible par un nombre spécifique. Par défaut, ce paramètre est 1.

Par exemple,

import random

x = random.randrange(0, 10, 2)
print(x)

Production:

4

Notez que la sortie est divisible par 2. En utilisant la même méthode de compréhension de liste, nous pouvons générer une liste de nombres aléatoires avec cette fonction, comme indiqué ci-dessous.

import random

x = [random.randrange(0, 10, 2) for p in range(0, 10)]
print(x)

Production:

[8, 0, 6, 2, 0, 6, 8, 6, 0, 4]

Utilisez la fonction random.sample() pour générer des entiers aléatoires entre une plage spécifique en Python

Avec cette fonction, nous pouvons spécifier la plage et le nombre total de nombres aléatoires que nous voulons générer. Cela garantit également qu’aucune valeur en double n’est présente. L’exemple suivant montre comment utiliser cette fonction.

import random

x = random.sample(range(10), 5)
print(x)

Production:

[7, 8, 5, 9, 6]

Utilisez le module NumPy pour générer des entiers aléatoires entre une plage spécifique en Python

Le module NumPy dispose également de trois fonctions disponibles pour réaliser cette tâche et générer le nombre requis d’entiers aléatoires et les stocker dans un tableau numpy.

Ces fonctions sont numpy.random.randint(), numpy.random.choice() et numpy.random.uniform(). Le code suivant montre comment utiliser ces fonctions.

Par exemple,

import numpy as np

x1 = np.random.randint(low=0, high=10, size=(5,))
print(x1)

x2 = np.random.uniform(low=0, high=10, size=(5,)).astype(int)
print(x2)

x3 = np.random.choice(a=10, size=5)
print(x3)

Production:

[3 2 2 2 8]
[8 7 9 2 9]
[0 7 4 1 4]
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python Random