我的程序没有给出正确的输出?

时间:2016-04-06 03:55:30

标签: python function if-statement absolute

我试图让-2的绝对值出现在python上。

   def distance_from_zero(a):

            if type(a) == int or type(a) == float:

                 return abs(a)

            else:

                 return "Nope"

   distance_from_zero(-2)

程序只是说"无"。我希望它给我-2的绝对值或者说'#34; nope"数字不是int或float。

2 个答案:

答案 0 :(得分:1)

稍微好一点,

def distance_from_zero(dist):
    a = 'Nope'
    if isinstance(dist, int) or isinstance(dist, float):
        a = abs(dist)
    return a

答案 1 :(得分:0)

添加print以查看输出。

def distance_from_zero(a):
    if type(a) == int or type(a) == float:
        return abs(a)
    else:
        return "Nope"

print distance_from_zero(-2)
print distance_from_zero('hi')

输出:

➜  python ./distance.py
2
Nope 

Demo