Python

Dans cet article, je vais vous expliquer l’utilisation du module random en Python. Comme son nom l’indique, il vous permet de générer des nombres aléatoires.

Ce module aléatoire contient des générateurs de nombres pseudo-aléatoires pour diverses distributions.

La fonction random() en fait partie, elle génère un nombre compris entre 0 et 1.
Mais il en existe d’autres comme les fonctions randint(min,max) et randrange(max).

Cours connexe: Cours de programmation Python complet &Exercices

Introduction

Commençons par la génération absolue de nombres aléatoires de base. La fonction random.random().
La fonction random() renvoie le flottant aléatoire suivant dans la plage.

Pour utiliser la fonction random(), appelez la méthode random() pour générer un nombre réel (flottant) compris entre 0 et 1.

import random
x = random.random()
print(x)

Ceci génère n’importe quel nombre compris entre 0 et 1. Pour la plupart des applications, vous aurez besoin d’entiers aléatoires au lieu de nombres compris entre 0 et 1.

Générer des nombres aléatoires

La fonction randint() génère des entiers aléatoires pour vous. Si vous appelez la fonction, elle renvoie un entier aléatoire N tel que a <= N <= b.

La méthode randint() permet de générer un nombre entier (entier). Vous pouvez utiliser randint(0,50) pour générer un nombre aléatoire compris entre 0 et 50.

import random
x = random.randint(0,50)
print(x)

To generate random integers between 0 and 9, you can use the function randrange(min,max).

from random import randrange
print(randrange(10))

You can use randint(min,max) instead:

import random
print(random.randint(0,9))

Change the parameters of randint() to generate a number between 1 and 10.

import random
x = random.randint(1,10)
print(x)

Cours connexe: Cours complet de programmation Python &Exercices

Liste de nombres aléatoires

Si vous souhaitez générer une liste de nombres aléatoires, vous pouvez le faire en utilisant une boucle for.
Pour générer une liste de 100 nombres aléatoires:

import random
mylist =
for i in range(0,100):
x = random.randint(1,10)
mylist.append(x)
print(mylist)

Mais cela peut être fait de manière beaucoup plus compacte en Python, avec un seul liner.
La fonction à utiliser est sample() qui mélange la liste d’entrée, dans l’exemple ci-dessous, elle mélange la liste créée range(1,101).

C’est-à-dire que range(1,101) crée une liste de nombres de 1 à 100.

>>> list(range(1,101))

Alors la fonction sample() mélange cette liste dans un ordre aléatoire.

>>> import random
>>> x = random.sample(range(1,101), 100)

En choisissant des éléments aléatoires dans une liste

Vous pouvez utiliser la méthode sample() pour mettre la liste dans un ordre aléatoire. Mais vous pouvez également l’utiliser pour obtenir des éléments aléatoires d’une liste.

Si vous voulez 3 éléments aléatoires de la liste, vous ajoutez 3 comme deuxième paramètre de la méthode sample(list).

import random
mylist =
x = random.sample(mylist,3)
print(x)

Si vous souhaitez choisir un élément au hasard, vous pouvez utiliser la méthode choice(list). Mais cela ne renvoie qu’un seul élément.

>>> import random
>>> x = list(range(1,101))
>>> random.choice(x)
8
>>> random.choice(x)
11
>>>

Vous pouvez utiliser la méthode shuffle(list) pour mélanger l’ordre de la liste, puis utiliser le premier index comme nombre aléatoire.

>>> import random
>>> x = list(range(1,101))
>>> random.shuffle(x)

La méthode recommandée pour ce faire est d’utiliser la méthode choice(), mais toutes ces méthodes fonctionnent.

Si vous êtes un débutant en Python, je recommande vivement ce livre.

Télécharger les exercices

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *