Comment vérifier si la chaîne de caractères saisie par un utilisateur est un nombre (par exemple -1
, 0
, 1
, etc.) ?
user_input = input("Enter something:")
if type(user_input) == int:
print("Is a number")
else:
print("Not a number")
La méthode ci-dessus ne fonctionne pas car input
renvoie toujours une chaîne de caractères.
Apparemment, cela ne fonctionnera pas pour les valeurs négatives, mais cela fonctionnera pour les valeurs positives. Désolé, je viens d'apprendre cela il y a quelques heures car je viens de me mettre à Python.
Utilisez isdigit()
if userinput.isdigit():
#do stuff
Pour Python 3, ce qui suit fonctionnera.
userInput = 0
while True:
try:
userInput = int(input("Enter something: "))
except ValueError:
print("Not an integer!")
continue
else:
print("Yes an integer!")
break