Comment puis-je vérifier si les entrées brutes est entier dans python 2.7?
Est-il une méthode que je peux utiliser pour vérifier si une raw_input
est un entier?
J'ai trouvé cette méthode, après des recherches dans le web:
print isinstance(raw_input("number: ")), int)
mais quand je le lance et entrée 4
par exemple, je reçois FALSE
.
Je suis une sorte de python, toute aide serait appréciée.
Vous devez vous connecter pour publier un commentaire.
isinstance(raw_input("number: ")), int)
donne toujoursFalse
parce queraw_input
chaîne de retour de l'objet en tant que résultat.Utilisation
try: int(...) ... except ValueError
:ou de l'utilisation
str.appel isdigit
:NOTE La seconde rendements
False
pour-4
, car il contient des chiffres de caractère. Utiliser la seconde si vous voulez des chiffres.Mise à JOUR Comme J. F. Sebastian l'a souligné,
str.isdigit
est dépendant de paramètres régionaux (Windows). Il pourrait revenirTrue
mêmeint()
aurait raise ValueError pour l'entrée.number = int(number)
str.isdigit()
peut dépendre de paramètres régionaux (comme Microsoft) c'est à dire, il pourrait revenirTrue
mêmeint()
aurait raise ValueError pour l'entrée.str
objet, pas ununicode
objet. Donc, je pense questr.isdigit
fonctionnera comme prévu. Pourriez-vous me donner un exemple.str.isdigit()
: "Pour les 8-des chaînes de bits, cette méthode est dépendant des paramètres régionaux.".'\xb2'.isdigit()
est peut-être vrai sur Python 2 si locale utilise cp1252 encodage des caractères (sur Windows).int('\xb2')
soulèveValueError
dans les paramètres danois?Vous pouvez le faire de cette façon:
voici ma solution
`
Essayer cette méthode .appel isdigit(), voir l'exemple ci-dessous.
Si vous avez besoin de l'entrée de rester chiffres pour l'utilisation ultérieure, vous pouvez ajouter quelque chose comme: