Erreur avec “len() de non dimensionnés objet”
Voici mon code:
TestV = int(input("Data: "))
print TestV
print len (TestV)
En fait, il imprime TestV
mais quand j'essaie d'obtenir de sa longueur, il me donne l'erreur "len() of unsized object"
J'ai essayer quelque chose de plus facile comme
>>> x = "hola"
>>> print len(x)
4
et il fonctionne parfaitement. Quelqu'un peut-il m'expliquer ce que je fais mal?
- Qu'attendez-vous de la longueur d'un entier à l'être?!
- Le message d'erreur dit tout: Ce que vous faites mal, c'est d'essayer d'obtenir la longueur d'un sans colle à l'objet.
Vous devez vous connecter pour publier un commentaire.
Si vous voulez compter le nombre de chiffres, vous devez le convertir en une Chaîne de caractères (à noter que le signe moins (
-
) sera considéré comme une):Ou tout simplement attendre que la conversion d'un int:
Toutefois, de noter que dans le dernier cas, il faudra compter un étalement des espaces, etc. ainsi.
MODIFIER: basé sur votre commentaire.
La raison en est que les chaînes de caractères contenant les autres personnages sont susceptibles de ne pas être des nombres, mais une erreur dans le processus. Dans le cas où vous souhaitez filtrer le numéro, vous pouvez utiliser une regex:
Type int n'a pas de longueur.
Vous êtes essentiellement en tournant à toute entrée d'un type int, dans
TestV = int(input("Data: "))