python写斐波拉契
时间: 2024-03-30 09:32:50 浏览: 50
Python可以使用递归或循环的方式来实现斐波那契数列。下面是两种常见的实现方式:
1. 使用递归实现斐波那契数列:
```python
def fibonacci(n):
if n <= 0:
return "输入的数字必须大于0"
elif n == 1:
return 0
elif n == 2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
```
2. 使用循环实现斐波那契数列:
```python
def fibonacci(n):
if n <= 0:
return "输入的数字必须大于0"
elif n == 1:
return 0
elif n == 2:
return 1
else:
a, b = 0, 1
for _ in range(3, n+1):
a, b = b, a + b
return b
```
这两种方法都可以计算出第n个斐波那契数。第一种方法使用递归,代码简洁但效率较低,因为会重复计算一些子问题。第二种方法使用循环,避免了重复计算,效率更高。
相关问题
Python写斐波拉契数列并输出
可以使用递归或循环的方式来写斐波那契数列,下面是两种方法的代码:
1. 递归方法:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return (fibonacci(n-1) + fibonacci(n-2))
# 输出前10项斐波那契数列
for i in range(10):
print(fibonacci(i))
```
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
# 输出前10项斐波那契数列
for i in range(10):
print(fibonacci(i))
```
两种方法都可以输出前10项斐波那契数列,输出结果为:
```
0
1
1
2
3
5
8
13
21
34
```
Python求斐波拉契数列
可以使用递归或者循环来求解斐波那契数列,以下是一个用递归的例子:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return(fibonacci(n-1) + fibonacci(n-2))
# 测试代码
for i in range(10):
print(fibonacci(i))
```
输出结果为:
```
0
1
1
2
3
5
8
13
21
34
```
注意,递归的方法可能会因为重复计算而效率比较低,可以使用循环或者动态规划等方法来提高效率。
阅读全文