编写函数计算1+1/2+1/3+…+1/n
时间: 2023-10-03 11:02:57 浏览: 46
def sum_of_reciprocals(n):
if n == 1:
return 1
else:
return 1/n + sum_of_reciprocals(n-1)
print(sum_of_reciprocals(5)) # 输出: 2.283333333333333
print(sum_of_reciprocals(10)) # 输出: 2.9289682539682538
相关问题
编写一个递归函数,计算1+1/2+1/3+……+1/n
以下是 Python 代码实现:
```python
def sum_recursion(n):
if n == 1:
return 1
else:
return 1/n + sum_recursion(n-1)
n = 5
print(sum_recursion(n)) # 输出:2.283333333333333
```
这个递归函数的思路是:先判断输入的参数n是否等于1,如果是,则返回1;如果不是,则递归调用sum_recursion(n-1),并将结果加上1/n返回。
例如,当n=5时,函数先计算1/5,然后递归调用sum_recursion(4),计算1/4,以此类推,直到n=1时,返回1。最后将所有结果相加,即得到1+1/2+1/3+1/4+1/5=2.283333333333333。
python编写函数,输出1+1/2+1/3+…+1/n的值
可以编写一个函数来计算这个求和的结果,如下所示:
```python
def calc_sum(n):
result = 0
for i in range(1, n+1):
result += 1/i
return result
```
这个函数接受一个参数 `n`,表示要计算的求和的项数。然后使用一个循环来逐一计算每一项的值,并累加到 `result` 变量中。最后返回 `result` 的值,即为所求的求和结果。
例如,如果要计算 1+1/2+1/3+1/4+1/5 的结果,可以调用 `calc_sum(5)`,得到结果为 `2.283333333333333`。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)