这有两个部分:首先,使用一个参数定义一个函数distance_from_zero(选择您喜欢的任何参数名称)。
其次,让该函数执行以下操作:
检查它收到的输入的类型。
如果类型为int或float,则函数应返回函数输入的绝对值。
如果该类型是任何其他类型,则该函数应返回“不是整数或浮点数!”
码:
def distance_from_zero(n):
print type(n)
if type(n) == int or type(n) == float:
var = abs(n)
print var
return n
else:
print "no!"
return n
var = input("Enter number:")
print var
distance_from_zero(var)
最佳答案
首先,正如其他人所建议的那样,使用raw_input()
。
然后,您可以尝试将其转换为int
或float
。如果两者均失败,则您没有电话号码。如果要保留“原始”类型,可以使用以下方法:
def distance_from_zero(n):
try:
n = int(n)
except ValueError:
try:
n = float(n)
except ValueError:
print "Not a number!"
n = float("NaN")
return abs(n)
如果您不介意将输入
1
转换为1.0
,则可以简化函数:def distance_from_zero(n):
try:
return abs(float(n))
except ValueError:
print "Not a number!"
return float("NaN") # or remove this line to return None
在这两种情况下,您都将调用以下函数:
var = raw_input("Enter number: ")
print distance_from_zero(var)
关于python - 评论:内置功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17335973/