问答详情
源自:9-5 Python函数参数

修正后的abs()函数无法正确输出

def my_abs(x):

    if not isinstance(x,int) or not isinstance(x,float):

        print('param type error.')

        return None

    if x >= 0:

        return x

    else:

        return -x

print(my_abs(6.5))

输出的结果是

param type error.

None

为什么不是6.5?

提问者:weixin_慕设计7044817 2023-12-12 14:40

个回答

  • weixin_慕无忌2350060
    2024-01-16 10:00:37

     if not isinstance(x,int) or not isinstance(x,float):


    这里应该用and,否则任何类型进去都是true