请编写一个高阶函数,实现任意个连续整数的“连加和”、“平方和”。 注意:一个高阶函数,实现两个功能
时间: 2024-10-04 11:04:03 浏览: 21
在Python中,我们可以创建一个名为`sum_and_square`的高阶函数,它接受一个函数作为参数,然后对一组连续整数应用这个函数两次:一次计算总和,一次计算每个数的平方并求和。这是一个通用的设计,可以根据需要轻松地改变传递给它的函数。
```python
def sum_and_square(start, end, operation):
# 高阶函数,接受start, end和一个操作函数operation
total_sum = sum(range(start, end + 1)) # 连加和
square_sum = sum(map(operation, range(start, end + 1))) # 平方和
return total_sum, square_sum
# 使用示例:计算1到5的连加和及平方和
add_func = lambda x: x # 初始操作:取原值
square_func = lambda x: x**2 # 另一操作:取平方
result_add, result_square = sum_and_square(1, 5, add_func)
print(f"连加和: {result_add}")
print(f"平方和: {result_square}")
```
在这个例子中,你可以通过更改`operation`参数来切换不同的操作,比如将`add_func`替换为`square_func`即可得到平方和。如果你有其他特定的数学操作想应用,只需要提供一个新的lambda表达式即可。
阅读全文