python产生斐波那契数列
时间: 2024-04-10 20:25:47 浏览: 98
Python中生成斐波那契数列有多种方法,以下是其中两种常见的方法:
方法一:使用循环
```python
def fibonacci(n):
fib_list = [0, 1] # 初始化斐波那契数列的前两个数
for i in range(2, n):
fib_list.append(fib_list[i-1] + fib_list[i-2]) # 计算当前位置的斐波那契数并添加到列表中
return fib_list
n = 10 # 指定生成斐波那契数列的长度
fib_sequence = fibonacci(n)
print(fib_sequence)
```
方法二:使用递归
```python
def fibonacci(n):
if n <= 0:
return []
elif n == 1:
return
elif n == 2:
return [0, 1]
else:
fib_list = fibonacci(n-1)
fib_list.append(fib_list[-1] + fib_list[-2]) # 计算当前位置的斐波那契数并添加到列表中
return fib_list
n = 10 # 指定生成斐波那契数列的长度
fib_sequence = fibonacci(n)
print(fib_sequence)
```
相关问题
用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
```
python求斐波那契数列
可以使用递归或循环的方式来求解斐波那契数列。下面分别给出两种方法的代码示例:
1. 递归方式
```python
def fibonacci(n):
if n < 2:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
# 输出前10项
for i in range(10):
print(fibonacci(i), end=" ")
```
输出结果:
```
0 1 1 2 3 5 8 13 21 34
```
2. 循环方式
```python
def fibonacci(n):
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
# 输出前10项
for i in range(10):
print(fibonacci(i), end=" ")
```
输出结果:
```
0 1 1 2 3 5 8 13 21 34
```
其中,递归方式简单易懂,但是对于较大的 n 值会存在重复计算,效率较低;循环方式则可以避免重复计算,效率较高。
阅读全文