6-2 编写函数计算f(i) = 1/2 + 2/3 + 3/4 + ... + i/(i+1) (高教社,《python编程基础及应用》习题8-4)
时间: 2023-07-16 13:16:12 浏览: 207
好的,这是一个求解f(i)的函数,这里是代码的实现:
```
def f(i):
result = 1.0
for n in range(2, i+1):
result *= n / (n - 1)
return result / 2
```
你可以通过传入i值来调用这个函数,它会返回f(i)的计算结果。
相关问题
6-3 编写函数计算f(i) = 1/2 + 2/3 + 3/4 + ... + i/(i+1) (高教社,《Python编程基础及应用》习题8-4
这道题可以使用循环来实现,具体的代码如下:
```python
def f(i):
res = 0
for j in range(1, i+1):
res += j / (j+1)
return res
```
其中,变量 `res` 用于存储累加结果,`j` 从1循环到 `i`,每次将 `j / (j+1)` 的结果累加到 `res` 中,最后返回 `res` 即可。
6-4 编写函数计算f(i) = 1/2 + 2/3 + 3/4 + ... + i/(i+1) (高教社,《Python编程基础及应用》习题8-4)
可以使用循环来实现这个函数,代码如下:
```python
def f(i):
result = 0
for j in range(1, i + 1):
result += j / (j + 1)
return result
```
其中,`range(1, i + 1)` 表示从 1 到 i 的所有整数,`result += j / (j + 1)` 表示将每一项的值相加,最后返回总和作为函数的结果。
你可以调用这个函数来计算 f(i) 的值,例如:
```python
print(f(3)) # 输出 1.8333333333333333
print(f(5)) # 输出 3.5500000000000003
```
注意:在 Python 2 中,`j / (j + 1)` 的结果会自动转换为整数,需要将分子或分母转换为浮点数才能得到正确的结果。例如,`j / (j + 1.0)` 或 `float(j) / (j + 1)`。
阅读全文