用Python实现斐波那契数列
时间: 2023-11-19 17:18:03 浏览: 167
好的,可以用以下代码实现斐波那契数列:
```python
n = int(input("请输入斐波那契数列的项数:"))
fibonacci = [0, 1] # 初始化斐波那契数列前两项
for i in range(2, n):
fibonacci.append(fibonacci[i-1] + fibonacci[i-2])
print(f"斐波那契数列的前{n}项是:{fibonacci}")
```
这段代码首先通过 `input()` 函数获取用户输入的斐波那契数列的项数 `n`,然后使用一个列表 `fibonacci` 存储斐波那契数列的前两项。接着使用 `for` 循环从第三项开始计算并添加到 `fibonacci` 列表中,直到计算出前 `n` 项,最后输出斐波那契数列即可。
相关问题
使用python实现斐波那契数列
可以使用递归或循环的方式实现斐波那契数列。
使用递归实现:
```python
def fib(n):
if n <= 1:
return n
return fib(n-1) + fib(n-2)
```
使用循环实现:
```python
def fib(n):
if n <= 1:
return n
a, b = 0, 1
for i in range(n-1):
a, b = b, a + b
return b
```
使用生成器实现:
```python
def fib():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
```
以上三种方法都可以实现斐波那契数列,但是当 n 很大时,递归方式的效率会很低,因为会重复计算很多次。循环和生成器方式则可以避免这个问题。
用python实现斐波那契数列的5种简单方法
好的,以下是五种简单方法来实现斐波那契数列:
1.使用递归:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return (fibonacci(n-1) + fibonacci(n-2))
```
2.使用迭代:
```python
def fibonacci(n):
a, b = 0, 1
for i in range(n):
a, b = b, a+b
return a
```
3.使用生成器:
```python
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
fib = fibonacci()
for i in range(10):
print(next(fib))
```
4.使用递推:
```python
def fibonacci(n):
fib = [0, 1]
for i in range(2, n+1):
fib.append(fib[i-1] + fib[i-2])
return fib[n]
print(fibonacci(10))
```
5.使用矩阵乘法:
```python
def fibonacci(n):
F = [[1, 1], [1, 0]]
if n == 0:
return 0
power(F, n-1)
return F[0][0]
def multiply(F, M):
x = F[0][0]*M[0][0] + F[0][1]*M[1][0]
y = F[0][0]*M[0][1] + F[0][1]*M[1][1]
z = F[1][0]*M[0][0] + F[1][1]*M[1][0]
w = F[1][0]*M[0][1] + F[1][1]*M[1][1]
F[0][0] = x
F[0][1] = y
F[1][0] = z
F[1][1] = w
def power(F, n):
if n == 0 or n == 1:
return
M = [[1, 1], [1, 0]]
power(F, n//2)
multiply(F, F)
if n % 2 != 0:
multiply(F, M)
print(fibonacci(10))
```
以上是实现斐波那契数列的五种简单方法,你可以根据自己的需求选择其中一种方法来实现。
阅读全文