You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现所有偶数的求和操作?附Python示例代码

如何用Python实现所有偶数的求和操作?

嘿,我来帮你搞定这个问题!先看看你提供的代码——它目前能找出列表里的偶数并打印出来,但还没完成求和的核心需求,而且还有些可以优化的小细节(比如全局列表godlike的使用不太符合函数封装的原则,函数也没有返回求和结果)。

修正你的代码实现求和

我们可以调整代码,让它真正完成偶数求和的功能:

def total_num(numbers):
    total = 0  # 初始化求和变量,用来存储最终结果
    for x in numbers:
        if x % 2 == 0:
            total += x  # 将偶数累加到总和中
            print(x)  # 可选:打印找到的偶数
    return total  # 返回求和结果

# 测试代码
number_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
sum_result = total_num(number_list)
print(f"所有偶数的总和是:{sum_result}")

这段代码的改进点:

  • 把求和变量total放在函数内部,避免全局变量带来的潜在问题,更符合函数的封装逻辑
  • 遍历列表时,判断元素是否为偶数(通过x % 2 == 0判断,余数为0就是偶数),如果是就累加到total里
  • 最后返回求和结果,方便后续对结果进行使用或处理

更简洁的实现方式

如果你想要更简洁的代码,Python里还有两种常用的写法:

1. 列表推导式

number_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
even_sum = sum([x for x in number_list if x % 2 == 0])
print(f"所有偶数的总和是:{even_sum}")

2. 生成器表达式(更节省内存)

number_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
even_sum = sum(x for x in number_list if x % 2 == 0)
print(f"所有偶数的总和是:{even_sum}")

这两种方式都利用了Python内置的sum()函数来直接计算偶数的总和,其中生成器表达式不需要创建完整的临时列表,而是逐个生成元素,对于超大列表来说更节省内存,效率也更高。

内容的提问来源于stack exchange,提问作者Weijun Tan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:04:16