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

运行后答案应该是0 为什么是99 呢?

def func(L):

    if isinstance(L,list):

        result=0

        for item in L:

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

                result=result+item

        return result

    elif isinstance(L,tuple):

        suj=1

        for item in L:

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

                suj=suj*item

            return suj

    else:

        return None

L=(99,0.36,54,69,584,478,6913,51,0,1,33,256,89)

print(func(L))


提问者:低调的黑眼睛 2021-09-25 14:33

个回答

  • Sapce
    2021-09-28 20:53:47

    return suj 的缩进和 if 是同作用域里的,执行第一遍循环就返回了结果,循环也就执行了一次