Recherche de site Web

La méthode randint() en Python


Introduction

Dans ce tutoriel, nous allons nous concentrer sur la méthode randint() en Python. Dans nos tutoriels précédents, nous avons vu différentes méthodes de génération de nombres aléatoires définies à l'intérieur du module random dans notre tutoriel sur les nombres aléatoires en Python.

Donc, comme vous le savez déjà, nous devons d'abord importer le module random en Python pour commencer à utiliser la méthode randint(). Le module crée essentiellement une pseudo-aléatoire.

La syntaxe de la méthode randint()

En gros, la méthode randint() en Python retourne une valeur entière aléatoire entre les deux limites inférieure et supérieure (y compris les deux limites) fournies comme deux paramètres.

Il convient de noter que cette méthode est uniquement capable de générer des valeurs aléatoires de type entier. Jetez un œil à la syntaxe afin que nous puissions intégrer davantage la méthode.

#randint() Syntax
randint(lower limit , upper limit)

Ici,

  • la limite inférieure est le point de départ à partir duquel l'entier aléatoire serait généré, y compris.
  • La limite supérieure est le point d'arrêt jusqu'auquel la méthode renverrait l'entier aléatoire.

L'exemple ci-dessus renvoie un entier N où N>=beg et N<=end.

Cela fonctionne de la même manière que randrange(beg,end), et est donc un alias pour la même chose.

L'exemple de la méthode randint()

Regardons le code donné ci-dessous, il illustre l'utilisation et le fonctionnement de la méthode randint().

import random
beg=10
end=100
random_integer = random.randint(beg, end)
print("The random integer is :", random_integer)

Sortie :

Exemple de randint()

Il est clair que nous pouvons voir que la méthode randint() génère une valeur entière aléatoire dans la limite 1-100.

Cette valeur est-elle aléatoire ? Que se passe-t-il lorsque nous appelons la méthode plusieurs fois ? Renvoie-t-elle la même valeur ?

Appel de méthode randint() multiple

L'extrait de code ci-dessous répond à toutes les questions mentionnées ci-dessus et nous donne une compréhension claire.

import random
beg=10
end=100
for i in range(5):
    print(random.randint(beg, end))

Sortie :

Sortie de plusieurs Randint()

Pour le code ci-dessus, répéter la méthode random.randint() nous donne des entiers aléatoires différents à chaque appel dans la limite de 10 à 100.

Ainsi, nous pouvons en déduire que les valeurs sont aléatoires pour chaque appel et ne se chevauchent pas dans notre cas. De plus, lorsque le nombre d'appels est important et que la plage est assez petite, dans ce cas, les valeurs aléatoires générées peuvent entrer en collision ou se chevaucher.

Comme mentionné précédemment, il faut s'assurer que les paramètres de limite supérieure et inférieure sont de type entier. Pour d'autres types, nous obtenons une ValueError comme montré ci-dessous.

import random
beg=5.3
end=10.2
print(random.randint(beg, end))

Sortie:

Traceback (most recent call last):
  File "C:/Users/sneha/Desktop/test.py", line 4, in <module>
    print(random.randint(beg, end))
  File "C:\Users\sneha\AppData\Local\Programs\Python\Python37-32\lib\random.py", line 222, in randint
    return self.randrange(a, b+1)
  File "C:\Users\sneha\AppData\Local\Programs\Python\Python37-32\lib\random.py", line 186, in randrange
    raise ValueError("non-integer arg 1 for randrange()")
ValueError: non-integer arg 1 for randrange()

Process finished with exit code 1

Conclusion

J'espère que ce bref tutoriel sur la méthode randint() en Python a rendu la fonction claire pour vous. Vos retours sont toujours les bienvenus dans les commentaires.

Références

  • https://docs.python.org/3/library/random.html
  • /communauté/tutoriels/python-nombre-aléatoire
  • https://stackoverflow.com/questions/34865409/python-and-random-randint