为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我只会输出'error'和None

def func(l):

    if not isinstance(l,list) or not isinstance(l,tuple):

        print ('error')

        return None

    elif isinstance(l,list):

        sum = 0

        for item in l:

            if isinstance(item,int) or isinstance(item,float):

                sum += item

        return sum

    elif isinstance(l,tuple):

        sum = 1

        for item in l:

            if isinstance(item,int) or isinstance(item,float):

                sum = sum * item

        return sum

    return None


正在回答

1 回答

not isinstance(L,list) or not isinstance(L,tuple)

这个条件相当于L既是list也是tuple才是false,实际上L只能是list,或者只能是tuple,所以条件就永远都是true

可以试试改成not isinstance(L,list) and not isinstance(L,tuple),或者not (isinstance(L,list) or isinstance(L,tuple))

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我只会输出'error'和None

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信