这是我的代码:
TestV = int(input("Data: "))
print TestV
print len (TestV)
事实上,它打印TestV
,但当我尝试获取其长度时,它会给我错误"len() of unsized object"
我尝试过像
这样的事情>>> x = "hola"
>>> print len(x)
4
它完美无缺。任何人都可以向我解释我做错了什么?
答案 0 :(得分:3)
类型int没有长度。
您基本上将任何输入转换为int类型
TestV = int(input("Data: "))
答案 1 :(得分:3)
如果您想计算位数,则需要将其转换回字符串(请注意,减号(-
)也会计为一个):
len(str(TestV))
或者只是等待将其转换为int:
TestV = input("Data: ")
print len (TestV)
TestV = int(TestV)
但请注意,与后一种情况相比,它也会计算拖尾空间等。
编辑:根据您的评论。
原因是包含其他字符的字符串可能不是数字,而是过程中的错误。如果您想过滤掉数字,可以使用正则表达式:
import re
x = input("Data: ")
x = re.sub("\D", "", x)
xv = int(x)