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

按照他提示的代码输出整数5,为啥不走下面了,结果输出了param type error和None

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(5))

提问者:猪肝 2021-05-25 14:24

个回答

  • kentokento
    2021-05-25 15:05:28
    已采纳

    问题出在line2吧,我根据另一条评论说的改成 if not isinstance(x,(int,float)): 就可以正常运行了

  • x小黑
    2021-11-12 14:37:54

        if not isinstance(x, int) or not isinstance(x, float):需要要改为:    if not isinstance(x, int) and not isinstance(x, float):

    下载视频          

  • 慕仙6353832
    2021-08-05 13:31:44

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

    改为:

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

  • 小白白白净
    2021-06-02 23:03:17

    第二行的 or 修改成 and 就可以了。