Python提取1-100偶数求和时sum函数运行异常如何解决?
代码问题排查
你的代码存在以下几个明显问题:
range(1,100)生成的是1到99的整数,不会包含100,不符合你1到100的取值要求- 代码中
[I]用了大写的i,Python区分大小写,循环变量是小写的i,运行时会直接报变量未定义的错误 - 你在每次匹配到偶数时都单独创建了只包含当前偶数的列表、单独求和打印,最终只会输出所有偶数逐个打印的结果,不会得到所有偶数的总和
修正后的代码示例
写法1:和你原有逻辑对齐的实现
# 先初始化一个空列表存所有偶数 even_list = [] for i in range(1, 101): if i % 2 == 0: even_list.append(i) # 循环结束后对整个列表求和 total = sum(even_list) print(total)
写法2:更节省内存的实现
不需要额外存储所有偶数,直接累加求和即可:
total = 0 for i in range(1, 101): if i % 2 == 0: total += i print(total)
写法3:Python极简实现
利用range的步长参数直接生成偶数序列再求和:
total = sum(range(2, 101, 2)) print(total)
内容的提问来源于stack exchange,提问作者user17047557
相关产品推荐
相关产品推荐

