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

如何在Python中实现双层Σ(双重求和)公式的计算

双层求和公式的Python实现方案

首先纠正认知误区:数学表达式中写在左侧的第一个Σ对应外层循环,右侧的第二个Σ对应内层循环,和你之前的理解刚好相反,这是此前代码无法正确运行的核心原因。

基础循环实现(最易理解)

直接对应数学公式的嵌套逻辑,代码如下:

def calc_f(x, y):
    res = 0
    # 第一层求和:i从1到10,对应外层循环
    for i in range(1, 11):
        # 第二层求和:j从1到10,对应内层循环
        for j in range(1, 11):
            res += i * x**2 + j * y**3
    return res

注意:Python的range是左闭右开区间,要取到1到10的整数值,结束参数需要设为11。

简洁Pythonic实现

用内置sum函数嵌套实现,代码更精简:

def calc_f(x, y):
    return sum(sum(i*x**2 + j*y**3 for j in range(1, 11)) for i in range(1, 11))

优化版实现(数学简化后)

该累加项可以拆分化简,避免循环计算,运行效率更高:
原公式可拆分为:
$\sum_{i=1}{10}\sum_{j=1}{10}ix^2 + \sum_{i=1}{10}\sum_{j=1}{10}jy^3 = 10x2\sum_{i=1}{10}i + 10y3\sum_{j=1}{10}j$
已知1到10的整数和为55,代入后可直接得到结果:

def calc_f(x, y):
    return 550 * (x**2 + y**3)

内容的提问来源于stack exchange,提问作者Maria Evans

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:27:05