问答详情
源自:9-3 Python函数返回值

为什么加上输出语句,就报错,不加反而运行成功,代码在下面

def sub_sum(l):

    s=0

    d=0

    for i in l:

        if i%2==0:

            s=s+i

        else:

            d=d+i

        i=i+1

    return s,d

l=[1,2,3,4,5,6,7,8,9,10]

print(s)

print(d)


提问者:慕丝8489515 2020-11-26 09:51

个回答

  • 慕妹2561822
    2021-01-07 15:43:30

    上面说的很对,但是你这个程序只是求奇偶数的和,题目要求奇偶项

  • 慕仙9354813
    2020-12-21 23:24:47

    首先,s,d是定义在sub_sum()这个函数中的,这个函数对外只有l一个参数。

    当sub_sum()这个函数定义结束时,外部是无法访问内部的s,d

    如果你想打印s和d,要改成这样:


    def sub_sum(l):

        s=0

        d=0

        for i in l:

            if i%2==0:

                s=s+i

            else:

                d=d+i

            i=i+1

        print(s)

        print(d)

    l=[1,2,3,4,5,6,7,8,9,10]

    sub_sum(l)


  • 慕运维1412390
    2020-11-28 21:34:42

    1、不需要   i=i+1

    2、没有定义s,d ,加上这句:s,d = sub_sum(l)