python新手求助 1+3+5+2+4+6+3+5+7+4+6+9...100到一百最终的值是多少怎么算? 怎么用for循环来处理这个题

2024-11-06 09:23:56
推荐回答(2个)
回答(1):

SUM1 = 0
DATA = range(5, 97)
addDATA = [1,2,3,3,4,4,100,99,98,98,97,97]
DATA = DATA * 3 + addDATA
for i in DATA:
    SUM1 = SUM1 + i

SUM2 = sum(DATA)
print SUM1, SUM2

1+3+5+2+4+6+3+5+7+4+6+9...100这里的9应该是8吧。

两头的需要特殊处理一下,1,2,100,99只加一次,而3,4,99,98会加两次,其他都是3次,所以做一个list存[5,6,...,96],之后将这个list复制3次,再把加1次和2次的数字添加进去就是全部需要计算的数列,这时候用你说到的for循环把list内元素全部加起来就可以了。其实没必要用for,sum(DATA)更方便。

回答(2):

python不了解 不过用c来给你讲吧
#include
#define PN 5
#define SN 5
int main(void){

int sum = 1;
for(int i = 1; i <= 100; i++) {
if(i % 2 == 0){
sum+=(i+i+2+i+4);
}else if(i % 2 != 0){
sum+=(i+2+i+4);
}
}
printf("%d",sum);
return 0;
}