python:求1-100能%3==0的整数和,和大于100,结束循环,结果为啥是108?

sum=0
for item in range(1,101,1):
    if item % 3 == 0:
        print(item, end=' ')
        sum += item
        if sum >= 100:
            break
            pass
print('sum={}'.format(sum))

程序运行下来是这样的。加的数字分别是3 6 9 12 15 18 21 24

在加到21的时候,sum总和为84,没有超过100,所以继续寻找下一个数字。

加到24的时候,发现sum已经等于108,超过100了,所以此时结束循环了。

也就是说sum=108的时候,循环结束了。

 

您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

验证一下:

import pandas as pd
data = pd.DataFrame({'值':[ i for i in range(1,101) if i %3 ==0],
                     '累计求和':pd.Series([ i for i in range(1,101) if i %3 ==0]).cumsum()})

data.head(10) 
    值  累计求和
0   3     3
1   6     9
2   9    18
3  12    30
4  15    45
5  18    63
6  21    84
7  24   108
8  27   135
9  30   165