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

来源:9-5 Python函数参数

低调的黑眼睛

2021-09-25 14:33

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


写回答 关注

1回答

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

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

    低调的黑眼睛

    收到,谢谢

    2021-09-28 20:57:44

    共 1 条回复 >

Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

154161 学习 · 1075 问题

查看课程

相似问题