我不会啊不会啊

来源:9-5 Python函数参数

醉风飒

2021-01-13 10:03

def func(x):
    if isinstance(x,list):
        sum=0
        for a in x:
            if isinstance(a,float) or isinstance(a,int):
                sum+=a
            else:
                sum='类型错误,list中有非floa或非int型的元素'
        return sum           
    if  isinstance(x,tuple):
        sum=0
        for a in x:
            if isinstance(a,float) or isinstance(a,int):
                sum+=a*a
            else:
                sum='类型错误,tuple中有非floa或非int型的元素'
        return sum
    else:
        sum='类型错误'
    return sum
   
       
a=[1,2,3,4,5,'a']
b=(1,2,3,4,5,'b')
c={'a':1}
print(func(a))
print(func(b))
print(func(c))
           

写回答 关注

2回答

  • Augenst
    2021-01-13 10:04:09
    已采纳

    优秀!!

  • Augenst
    2021-01-13 10:04:53

    def func(x):

        if isinstance(x,list):

            sum1=0

            for a in x:

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

                    sum1+=a

            return sum1

        if isinstance(x,tuple):

            sum2=1

            for b in x:

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

                    sum2=sum2*b

            return sum2

                

    L=[1,2,3,4,5]

    print (func(L))

    S=(1,2,3,4,5)

    print (func(S))

    D=[1,2,3,4,'sd']

    print (func(D))


    禾希禾希

    你这个没有考虑到list和tuple中数字型元素0个的情况,譬如L=['A','B','C','D','E'],T=('A','B','C','D','E'),那么你的程序就会返回0和1,这个结果是不对的

    2021-02-26 17:46:46

    共 1 条回复 >

Python3 入门教程(新版)

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

154172 学习 · 1075 问题

查看课程

相似问题