定义一个函数sum,求得1,2,3..n的奇数之和或偶数之和
时间: 2024-10-22 19:23:18 浏览: 14
当然可以。你可以定义两个函数,一个用于计算1到n的奇数之和,另一个用于计算偶数之和。以下是用Python语言的一个例子:
```python
def sum_odd_numbers(n):
total = 0
for i in range(1, n+1, 2): # 遍历1, 3, 5...
total += i
return total
def sum_even_numbers(n):
total = 0
for i in range(2, n+1, 2): # 遍历2, 4, 6...
total += i
return total
```
这两个函数分别通过`range()`函数以步长2遍历数字,`range(1, n+1, 2)`得到的是奇数序列,`range(2, n+1, 2)`得到的是偶数序列。然后将每个数累加到总和`total`上。
如果你想一次性定义并返回所有奇数和偶数的和,可以考虑使用列表推导式或者生成器表达式:
```python
def sum_by_type(n, type_="odd"):
if type_ == "odd":
total = sum(i for i in range(1, n+1, 2))
elif type_ == "even":
total = sum(i for i in range(2, n+1, 2))
else:
raise ValueError("Invalid type. Choose 'odd' or 'even'.")
return total
# 调用示例
print(sum_by_type(10, "odd")) # 输出1 + 3 + ... + 9
print(sum_by_type(10, "even")) # 输出2 + 4 + ... + 10
```
阅读全文