【发布时间】:2021-08-25 02:58:18
【问题描述】:
我正在尝试使用 reduce 格式化 sum 函数的结果。所以输入 sum_equation([1,5,7]) 应该返回“1 + 5 + 7 = 13”。
这是我实现的:
from functools import reduce
def sum_equation(L):
return reduce(lambda x, y: x+y, L, 0)
def main():
result = sum_equation([1, 5, 7])
print("{} + {} = {}".format(x, y, result))
if __name__ == "__main__":
main()
它有一个错误:NameError: name 'x' is not defined。你能解释什么是不正确的,我该如何解决这个问题
【问题讨论】:
-
x和y只能在 lambda 函数内部访问。不在外面。 -
因为
x不在范围内。