Python循环求和遇‘Output exceeds the size limit’报错的排查与解决
问题分析与解决
报错原因
- 输出过载触发限制:你的代码在每次循环里都会重新创建空列表
sum_list,仅将当前i加入后就打印列表的和(也就是i本身)。循环执行100次就会打印1到100这100个数字,输出内容过多,触发VSCode的「Output exceeds the size limit」提示。 - 累加逻辑完全错误:由于每次循环都重置列表,根本没有对之前的数值进行累加,自然得不到5050的预期结果。
正确实现方法
方法1:用累加变量(性能最优)
total = 0 for i in range(1, 101): total += i print(total)
用变量total持续保存累加结果,循环结束后仅打印一次最终值,不会产生大量输出。
方法2:用列表存储后求和
如果一定要用列表实现,需将列表初始化放在循环外部:
sum_list = [] for i in range(1, 101): sum_list.append(i) print(sum(sum_list))
这样列表会逐步收集1到100的所有数值,最后仅打印一次总和,避免输出过载。
方法3:直接用sum()函数(最简洁)
Python的sum()可直接对range对象求和,无需手动写循环:
print(sum(range(1, 101)))
内容的提问来源于stack exchange,提问作者Python newbie
相关产品推荐
相关产品推荐

