编写一个函数,输入n为偶数时,求1/2+1/4+…+1/n,当输入n为奇数时,求1/1+1/3+…+1/n。
时间: 2023-09-25 21:09:22 浏览: 138
可以使用循环来实现这个功能,代码如下:
```python
def sum_fraction(n):
result = 0
if n % 2 == 0:
for i in range(2, n+1, 2):
result += 1/i
else:
for i in range(1, n+1, 2):
result += 1/i
return result
```
首先判断n是奇数还是偶数,如果是偶数则从2开始每次加2求和,如果是奇数则从1开始每次加2求和。最后返回结果即可。
相关问题
python,编写一个函数,输入n为偶数时,调用函数1+1/2+1/4+1/6+……+1/n,输入n为奇数时,调用函数1+1/3+1/5+1/7+……+1/n,结果取两位小数
以下是Python编写的函数,可以根据输入的n值计算不同的数列和,并将结果保留两位小数输出:
```python
def calculate_sum(n):
if n % 2 == 0:
result = sum([1 / i for i in range(2, n + 1, 2)])
else:
result = sum([1 / i for i in range(1, n + 1, 2)])
return round(result, 2)
```
其中,`range(start, stop, step)`函数可以生成一个从`start`开始,到`stop`结束,步长为`step`的整数序列。因此,`range(2, n + 1, 2)`可以生成一个从2开始,到n结束,步长为2的整数序列,用于计算偶数项的和;`range(1, n + 1, 2)`可以生成一个从1开始,到n结束,步长为2的整数序列,用于计算奇数项的和。
下面是使用该函数计算不同n值下的数列和的例子:
```python
print(calculate_sum(4)) # 输出:1.5
print(calculate_sum(5)) # 输出:1.63
```
Python编程题:编写一个函数当输入n为奇数时调用函数求1/1+1/3+……+1/n,输入n为偶数时调用函数求1/2+1/4+……+1/n
以下是Python代码:
```python
def sum_fraction(n):
if n % 2 == 1:
sum = 0
for i in range(1, n+1, 2):
sum += 1/i
return sum
else:
sum = 0
for i in range(2, n+1, 2):
sum += 1/i
return sum
```
解释:
- 函数名为 `sum_fraction`,输入参数为 `n`
- 如果输入的 `n` 是奇数,则使用 `for` 循环从 1 开始,每次加 2,累加分数的和
- 如果输入的 `n` 是偶数,则使用 `for` 循环从 2 开始,每次加 2,累加分数的和
- 最后返回分数的和
阅读全文