|
发表于 2023-3-26 13:10:40
|
显示全部楼层
本帖最后由 isdkz 于 2023-3-26 13:19 编辑
我们可以在 add() 函数内部检查参数 b 是否为奇数。如果 b 为奇数,则累加,否则保持当前累加值不变。
这里是修改后的代码:
- from functools import reduce
- def add(a, b):
- if b % 2 == 1:
- return a + b
- else:
- return a
- result = reduce(add, range(0, 100))
- print(result)
复制代码
这段代码中,我们将奇数检查放在 add() 函数内部,并根据 b 的奇偶性决定累加值。
不过最好还是通过 filter() 函数筛选出奇数,然后用 reduce() 函数对它们求和。这里是修改后的代码:
- from functools import reduce
- def add(a, b):
- return a + b
- odd_numbers = filter(lambda x: x % 2 == 1, range(0, 100))
- result = reduce(add, odd_numbers)
- print(result)
复制代码
这段代码首先使用 filter() 函数筛选出 0-100 之间的奇数,然后使用 reduce() 函数对筛选出的奇数求和。 |
|