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

为啥运行不了

# coding=utf-8

def sub_sum(L):

    num=0

    b=0 

    c=0

    for a in L:

        while num%2==1:

            b=b+a

        while num%2==0:

            c=c+a 

    return b,c

L=[1,2,3,4,5,6,7,8,9,10,11,12]

b,c=sub_sum(L)

print('奇数项和'=={}.format(b))

print('偶数项和'=={}.format(c))


提问者:sumlou_jqxBR0 2026-01-20 16:33

个回答

  • 我一个不小心
    2026-01-23 13:57:35

    运行了,但因为while是循环语句,while num%2==0 这句话中 num%2==0 如果为True,while循环就一直执行, num一直是0,0%2==0 永远是True,所以死循环了。if是判断,while改成if就可以了。

    还有就是for循环中 a in L,a代表的是L中每一个数字,第一次循环a就是1,第二次循环a就是2,所以 num%2==1 和num%2==0 需要改成 a%2==1 和a%2==0,或者 改成
    for a in L:
        num = a;
        if num%2==1:
    然后就应该差不多能行了