Vérifier si l'entrée est un entier en Python

Manav Narula 30 janvier 2023
  1. Utilisez la fonction int() pour vérifier si l’entrée est un entier en Python
  2. Utilisez la méthode isnumeric() pour vérifier si l’entrée est un entier ou non
  3. Utilisez les expressions régulières pour vérifier si l’entrée est un entier en Python
Vérifier si l'entrée est un entier en Python

Dans le monde de la programmation, nous travaillons très fréquemment avec l’apport de l’utilisateur. Python a la fonction input() disponible, qui permet à l’utilisateur de saisir l’entrée souhaitée. Parfois, nous pouvons vouloir l’entrée d’un type spécifique.

Cependant, cette fonction convertit l’entrée de l’utilisateur en chaîne avant de la compiler avec le programme. Par conséquent, il n’est pas simple d’utiliser les méthodes traditionnelles pour vérifier des types spécifiques avec l’entrée de l’utilisateur, et nous devons vérifier si la chaîne contient des nombres ou non essentiellement.

Dans ce tutoriel, nous verrons comment vérifier si l’entrée saisie par l’utilisateur est de type entier ou non.

Utilisez la fonction int() pour vérifier si l’entrée est un entier en Python

La fonction int() peut convertir une valeur entière de chaîne donnée en un type entier. Cela génère une erreur si la valeur souhaitée n’est pas un entier et ne peut pas être convertie. Nous pouvons utiliser cette méthode pour vérifier si la chaîne de l’utilisateur est un entier ou non, comme indiqué ci-dessous.

user_input = input("Enter the input ")

try:
    int(user_input)
    it_is = True
except ValueError:
    it_is = False

print(it_is)

Production:

Enter the input 15
True

Notez l’utilisation du bloc try...except dans cette méthode. Il est utilisé très fréquemment lors de la gestion des exceptions en Python.

Utilisez la méthode isnumeric() pour vérifier si l’entrée est un entier ou non

La méthode isnumeric() de la chaîne renvoie True si la chaîne ne contient que des nombres. Cependant, il convient de noter qu’il échoue avec des valeurs négatives. En effet, il renvoie automatiquement False lorsqu’il rencontre le signe - en nombres entiers négatifs.

Le code suivant montre comment nous pouvons utiliser cette fonction pour vérifier si une chaîne contient des entiers en Python.

user_input = input("Enter the input ")

print(user_input.isnumeric())

Production:

Enter the input 10
True

On peut aussi utiliser la fonction isdigit() à la place de isnumeric(); elle présente également les mêmes limites que cette méthode.

Utilisez les expressions régulières pour vérifier si l’entrée est un entier en Python

Nous pouvons également utiliser les expressions régulières pour créer un modèle qui renvoie True chaque fois qu’il rencontre des entiers dans une chaîne. Nous pouvons également modifier le modèle pour nous assurer qu’il fonctionne pour les valeurs négatives. Par exemple,

import re

user_input = input("Enter the input ")

num_format = re.compile(r"^\-?[1-9][0-9]*$")
it_is = re.match(num_format, user_input)

if it_is:
    print("True")
else:
    print("False")

Production:

Enter the input -15
True

Vous trouverez ci-dessous l’explication du modèle d’expression régulière - ^\-?[1-9][0-9]*$.

  • ^ est le début de la chaîne
  • \-? indique que ce nombre peut être négatif ou positif.
  • [1-9] est le premier chiffre du numéro. Il doit s’agir d’un nombre compris entre 1 et 9, mais pas 0.
  • [0-9]* indique les chiffres suivants. Le nombre de chiffres peut être quelconque, y compris 0.
  • $ est la fin de la chaîne.
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 String

Article connexe - Python Input