【发布时间】:2019-03-21 04:56:00
【问题描述】:
我是 python 编码的初学者,我偶然发现了一个特定练习的问题。此练习涉及向用户询问输入字符串并打印出字符串的长度。如果用户输入一个整数,它应该说“你不能计算一个整数的长度”,如果用户输入一个浮点数,它应该说“你不能计算一个整数的长度”。这是我的代码。
def string_length(mystring):
if mystring.isdigit():
return "You can not calculate that length!"
if isinstance(mystring,float):
return "You can not calculate that length!"
else:
return len(mystring)
mystring = input("Enter some random string ")
print(string_length(mystring))
这不会打印出任何错误,但是当我输入浮点数作为输入时,函数本身不起作用。我试过了
type(mystring) == int/float
但它不起作用。如何修改我的代码来解决这个问题?
【问题讨论】:
-
更好的方法是提出
ValueError或TypeError。亲自查看:len(3.14)和len(3)
标签: python python-3.x input types casting