Python用自定义递归函数求1到n的奇数和,偶数和
时间: 2024-10-17 08:04:19 浏览: 35
在python中实现求输出1-3+5-7+9-......101的和
5星 · 资源好评率100%
Python中可以使用自定义递归函数来分别计算1到n的奇数和(odd_sum)和偶数和(even_sum)。递归是一种解决问题的方法,通过将大问题分解成更小的同类问题来解决。这里是一个简单的例子:
```python
def sum_odd_even(n):
# 基线条件:如果n为0或1,直接返回0,因为0既不是奇数也不是偶数
if n == 0 or n == 1:
return 0
# 如果n是奇数,则返回当前数加上前一个偶数之和
elif n % 2 == 1:
odd_sum = n + sum_even(n - 1)
return odd_sum
# 否则,n是偶数,返回当前数加上前一个奇数之和
else:
even_sum = n + sum_odd_even(n - 2)
return even_sum
# 计算1到n的奇数和和偶数和
def main(n):
total_sum = sum_odd_even(n) + sum_even(n)
odd_sum, even_sum = sum_odd_even(n), sum_even(n)
print(f"1到{n}的总和是 {total_sum}")
print(f"奇数和是 {odd_sum}")
print(f"偶数和是 {even_sum}")
# 示例:求1到5的奇数和和偶数和
main(5)
```
这个程序会先计算1到n的所有数字中,奇数部分和偶数部分的和,然后将它们相加得到总的和。
阅读全文