编写一个函数,当输入n为奇数,调用函数求1/1+1/3+...+1/n,当输入n为偶数时,调用函数求1/2+1/3+...+1/n
时间: 2023-11-11 19:07:57 浏览: 65
以下是 Python 的实现代码:
```python
def sum_fraction(n):
if n % 2 == 1:
return sum(1/i for i in range(1, n+1, 2))
else:
return sum(1/i for i in range(2, n+1))
```
函数 `sum_fraction(n)` 会判断输入的 `n` 是奇数还是偶数,然后分别计算不同的和并返回结果。当 `n` 为奇数时,使用 `range(1, n+1, 2)` 生成从 1 到 `n` 的奇数序列,然后对每个数求倒数并求和;当 `n` 为偶数时,使用 `range(2, n+1)` 生成从 2 到 `n` 的整数序列,然后对每个数求倒数并求和。
相关问题
1. 编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+..+1/。
这是一个简单的Python函数,它利用了条件语句来实现根据输入n的奇偶性计算不同的序列:
```python
def calculate_sum(n):
if n % 2 == 0: # 如果n是偶数
sum_series = sum(1 / i for i in range(2, n + 1, 2)) # 计算从2到n的所有偶数倒数之和
else: # 如果n是奇数
sum_series = sum(1 / i for i in range(1, n + 1, 2)) # 计算从1到n的所有奇数倒数之和
return sum_series
# 示例:
print(calculate_sum(6)) # 输出1/2 + 1/4 + ... + 1/6 的和
print(calculate_sum(5)) # 输出1/1 + 1/3 + ... + 1/5 的和
```
在这个函数中,我们使用了列表推导式生成了一个序列,然后使用`sum()`函数求出它们的和。`range(2, n + 1, 2)` 或 `range(1, n + 1, 2)` 分别用于生成偶数或奇数序列。
编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+..+1/。
这个函数可以设计成一个Python函数,利用条件分支来实现不同的计算逻辑。我们可以创建一个名为`sum_series`的函数,接受一个整数`n`作为输入:
```python
def sum_series(n):
if n % 2 == 0: # 如果n是偶数
partial_sum = sum(1/i for i in range(2, n + 1, 2)) # 计算1/2 + 1/4 + ... + 1/n
else: # 如果n是奇数
partial_sum = sum(1/i for i in range(1, n + 1, 2)) # 计算1/1 + 1/3 + ... + 1/(n-1)
return partial_sum
# 示例
print(sum_series(6)) # 输出:1 - (1/2 + 1/4)
print(sum_series(5)) # 输出:1 + (1/3 + 1/5)
```
在这个函数中,我们使用了列表推导式生成一系列从2到n(如果是偶数)或从1到n(如果是奇数),步长为2的分数序列,然后通过`sum()`函数求和。
阅读全文