python计算fibonacci数
时间: 2023-04-21 14:04:38 浏览: 99
Fibonacci数列是由0和1开始,之后的每一项都是前两项之和。Python可以使用递归函数来计算Fibonacci数列,也可以使用循环来计算。以下是两种方法的示例代码:
使用递归函数:
```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))
```
使用循环:
```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
# 测试
for i in range(10):
print(fibonacci(i))
```
相关问题
用python计算斐波那契数
在Python中,我们可以使用递归、循环或者生成器函数的方式来计算斐波那契数列。这里给出三种常见方法:
1. **递归**(虽然效率较低,适合教学演示):
```python
def fibonacci_recursive(n):
if n <= 0:
return "输入值错误"
elif n == 1 or n == 2:
return 1
else:
return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)
n = int(input("请输入斐波那契数列的位置:"))
print(fibonacci_recursive(n))
```
2. **循环**(更高效):
```python
def fibonacci_loop(n):
a, b = 0, 1
for _ in range(n):
a, b = b, a + b
return a
n = int(input("请输入斐波那契数列的位置:"))
print(fibonacci_loop(n))
```
3. **生成器**(最高效,节省内存空间):
```python
def fibonacci_generator(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
n = int(input("请输入斐波那契数列的位置:"))
for _ in range(n):
print(next(fibonacci_generator()))
```
python计算斐波那契数列
斐波那契数列是一个以递归的方法定义的数列,每一项等于前面两项的和。在Python中,有多种方法可以计算斐波那契数列。其中一种常见的方法如下所示:
```python
def fib(n):
if n <= 0:
return []
elif n == 1:
return [1]
elif n == 2:
return [1, 1]
else:
fibs = [1, 1]
for i in range(2, n):
fibs.append(fibs[-1] + fibs[-2])
return fibs
print(fib(10))
```
这个方法使用了循环来计算斐波那契数列的前n项。在每一次循环中,我们将前两项的和添加到数列中。最后,我们返回计算得到的斐波那契数列。
阅读全文