Python: 列出函数和 lambda 表达式

Python: list function and lambda expressions

所以我需要创建一个函数,仅使用 return.

将数字的平方和直到 n

我试过:

    from functools import reduce

    def soma_quadrados(n):
        return sum(list(reduce(lambda x: x**2, list(range(1,n+1)))))

给出错误:lambda () takes 1 positional argument but 2 were given

我也试过了

    return sum(list(reduce(lambda x: x**2, n)))

给出错误:reduce() arg 2 must support iteration

我该怎么办? 提前致谢

reduce() 传入两个参数:到目前为止累积的结果和下一个值。您的 lambda 不接受结果参数(第一个)。

如果要生成所有平方的总和,请使用 sum() 和生成器表达式:

sum(i ** 2 for i in range(1, n + 1))

或使用 map() 将整数映射到它们的平方以代替生成器表达式:

sum(map(lambda i: i ** 2, range(1, n + 1)))

如果你必须使用reduce(),求和:

reduce(lambda r, i: r + i ** 2, range(1, n + 1), 0)