用python编写函数实现求1+1+2+3+5+8+...+n的例子
时间: 2024-01-09 07:21:56 浏览: 88
以下是用Python编写的函数实现求1+1+2+3+5+8+...+n的例子:
```python
def fibonacci_sum(n):
if n <= 0:
return "请输入一个正整数"
elif n == 1:
return 1
else:
a, b = 1, 1
sum = a + b
for i in range(2, n):
a, b = b, a + b
sum += b
return sum
n = 10
result = fibonacci_sum(n)
print("1+1+2+3+5+8+...+n的和为:", result) # 输出:1+1+2+3+5+8+...+n的和为: 143
```
相关问题
用Python编写一个递归函数计算1+1/2+1/3+.....+1/i
可以使用下面的代码实现:
```python
def sum_recursive(i):
if i == 1:
return 1
else:
return 1/i + sum_recursive(i-1)
i = 5
result = sum_recursive(i)
print("1 + 1/2 + 1/3 + ... + 1/{} = {}".format(i, result))
```
这个函数接受一个参数 i,表示求和的最后一项是 1/i。如果 i 等于 1,则直接返回 1。否则,返回 1/i 加上递归调用 sum_recursive(i-1) 的结果。最终结果就是所有项的和。
在这个例子中,我们计算了 1 + 1/2 + 1/3 + 1/4 + 1/5 的值,结果为 2.283333333333333。
编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n。
以下是Python代码实现:
```python
def sum_of_series(n):
if n % 2 == 0:
# 计算1/2+1/4+...+1/n
s = 0
for i in range(2, n+1, 2):
s += 1/i
return s
else:
# 计算1/1+1/3+...+1/n
s = 0
for i in range(1, n+1, 2):
s += 1/i
return s
```
函数接受一个整数n作为输入,如果n是偶数,则计算1/2+1/4+...+1/n的和,如果n是奇数,则计算1/1+1/3+...+1/n的和。函数使用一个循环来计算和,并返回结果。
以下是一个例子:
```python
print(sum_of_series(6)) # 输出1.4666666666666666
print(sum_of_series(5)) # 输出1.5333333333333332
```
注意,在Python 2.x中,1/2和1/3会被解释为整数除法,所以计算结果将是0。在这种情况下,可以使用1.0/2和1.0/3来强制使用浮点数除法。在Python 3.x中,除法运算默认为浮点数除法。
阅读全文