用python求斐波那契数列
时间: 2023-05-12 20:06:16 浏览: 109
可以使用递归或循环的方式来求解斐波那契数列,以下是使用递归的方式:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
```
以下是使用循环的方式:
```python
def fibonacci(n):
if n <= 1:
return n
else:
a, b = 0, 1
for i in range(n-1):
a, b = b, a+b
return b
```
以上两种方式都可以求解斐波那契数列,但是使用递归的方式在计算大数时会比较慢,而使用循环的方式则可以更快地计算。
相关问题
用Python求斐波那契数列
在Python中,求斐波那契数列可以使用循环、递归或者是生成器等方法。这里我将展示三种常见的实现方式:
1. **循环法**:
```python
def fibonacci_loop(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
# 使用示例
for i in fibonacci_loop(10):
print(i)
```
2. **递归法**:
```python
def fibonacci_recursive(n):
if n <= 0:
return []
elif n == 1:
return [0]
elif n == 2:
return [0, 1]
else:
fib_list = fibonacci_recursive(n - 1)
fib_list.append(fib_list[-1] + fib_list[-2])
return fib_list
# 使用示例
print(fibonacci_recursive(10))
```
3. **生成器函数**:
```python
def fibonacci_generator(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
# 使用示例
for i in fibonacci_generator(10):
print(i)
```
以上三种方法都可以得到斐波那契数列的前n项,选择哪种取决于你的需求以及对性能的需求。
用python求斐波那契数列和斐波那契数列和
以下是两种Python求斐波那契数列和的例子:
1. 求斐波那契数列前n项和
```python
def fibonacci_sum(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
a, b = 0, 1
sum = 1
for i in range(2, n+1):
c = a + b
sum += c
a, b = b, c
return sum
# 示例
print(fibonacci_sum(10)) # 输出:143
```
2. 求斐波那契数列第n个数的值
```python
def fibonacci(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
a, b = 0, 1
for i in range(2, n+1):
c = a + b
a, b = b, c
return b
# 示例
print(fibonacci(10)) # 输出:55
```
阅读全文