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
他的例子错了吧,第二行的条件不应该是用and连接吗,按照他的若传入的参数是float,也会返回None
搜索
复制
我也觉得,如果是or的话,在参数类型是int或者float的情况下,就会输出param type error.,而一个参数不可能同时是int或float,就会导致if这个判断语句总会为true,就会输出param type error. 故这里应该用and连接。