【问题标题】:How to Do Sigma Sum Notation in Python?如何在 Python 中进行 Sigma 和表示法?
【发布时间】:2020-02-18 18:03:45
【问题描述】:

如何将表达式作为参数传递给函数,然后在 Python 中执行?

def f(variable, function):
    # here calculate the function (unknown part)

f(3, 2 * variable)

结果应该是 6。(f(x) = 2 * x; x = 3)

我该怎么做?

【问题讨论】:

标签: python function lambda


【解决方案1】:
def sigma_sum(start, end, expression):
    return sum(expression(i) for i in range(start, end))

使用lambda 函数的示例用法

>>> sigma_sum(1, 10, lambda i: i**2)
285

或使用命名函数

def square(i):
    return i**2

>>> sigma_sum(1, 10, square)
285

【讨论】:

  • 你错过了一些东西:你没有包括最后一个数字(在这种情况下是 10)。我已经更正了。
  • 我故意不包括最后一个值,这是 Python 的规范,称为 half-open 范围。 Python 中的许多切片和索引操作都是以这种方式工作的。例如看print(list(range(1,10)))
  • 我已经问过这个数学总和,一般来说。在数学中,我们总是包含最后一个变量,如果你想要这个或不想要。所以请纠正它。
猜你喜欢
  • 2018-04-16
  • 1970-01-01
  • 1970-01-01
  • 2022-07-02
  • 1970-01-01
  • 2012-02-10
  • 1970-01-01
  • 2018-09-12
  • 1970-01-01
相关资源
最近更新 更多