2 回答
TA贡献1757条经验 获得超8个赞
您的问题不是很清楚,但是如果我的理解没有错,这应该可以解决:
def string_length(mystring):
try:
if type(int(mystring)) == int:
return "Sorry, integers don't have length"
elif type(mystring) == str:
return len(mystring)
except:
return len(str(mystring))
mystring = input("what is the value ?")
print(string_length(mystring))
TA贡献1777条经验 获得超10个赞
在Python2中,input它将计算为整数,而不是字符串,这将解释该消息。
您可以hasattr用来检查__len__magic函数,而不必进行显式类型检查。
我认为这应该适用于任何迭代类型
def string_length(mystring):
if hasattr(mystring, '__len__'):
return len(mystring)
else:
print("Sorry, {} don't have length".format(type(mystring)))
return None
mystring = input("what is the value ?")
print(string_length(mystring))
然后,确保您正在Python3中运行它
添加回答
举报