“len()of unsize object”错误

2024-06-26 01:42:52 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码:

TestV = int(input("Data: "))
print TestV
print len (TestV)

实际上,它会打印TestV,但是当我试图获取它的长度时,它会给我一个错误"len() of unsized object"

我尝试了一些更简单的方法,比如

>>> x = "hola"
>>> print len(x)
4

而且效果很好。有人能告诉我我做错了什么吗?


Tags: of方法代码inputdatalenobject错误
2条回答

类型int没有长度。


TestV = int(input("Data: "))

如果要计算位数,则需要将其转换回字符串(注意减号(-)也将计算为一):

len(str(TestV))

或者只是等待将其转换为int:

TestV = input("Data: ")
print len (TestV)
TestV = int(TestV)

注意,与后一种情况相比,它还将计算尾随空间等。

编辑:根据您的评论。

原因是包含其他字符的字符串可能不是数字,而是过程中的错误。如果您想过滤掉这个数字,可以使用regex:

import re

x = input("Data: ")
x = re.sub("\D", "", x)
xv = int(x)

相关问题 更多 >