这有两个部分:首先,使用一个参数定义一个函数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()

然后,您可以尝试将其转换为intfloat。如果两者均失败,则您没有电话号码。如果要保留“原始”类型,可以使用以下方法:

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/

10-09 14:03