首页 > 解决方案 > function is not returning what is intended

问题描述

The function that I created is to measure the length of an argument!. I want to return "Sorry, integers don't have length"

def string_length(mystring):
    if type(mystring) == int:
         return "Sorry, integers don't have length"
    else:
         return len(mystring)

mystring = input("what is the value ?")
print(string_length(mystring))

what am I doing wrong?

标签: pythonpython-3.xfunction

解决方案


您的问题不是很清楚,但是如果我的理解没有错,这应该可行:

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))

推荐阅读