sumlou_jqxBR0
2026-01-20 16:33
# 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))
运行了,但因为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:
然后就应该差不多能行了
Python3 入门教程
166308 学习 · 1145 问题
相似问题