用python求解斐波那契数列
时间: 2023-03-14 19:51:33 浏览: 119
可以使用递推的方式求解斐波那契数列。代码如下:
```python
def fibonacci(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(10))
```
也可以使用循环的方式求解,代码如下:
```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):
a, b = b, a + b
return b
print(fibonacci(10))
```
在上述代码中,`fibonacci(10)`的结果为`55`,表示斐波那契数列的第10项的值为55。
相关问题
python求解斐波那契数列
你可以使用递归或迭代的方式来求解斐波那契数列。下面是两种方法的示例代码:
1. 递归方法:
```python
def fibonacci_recursive(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)
```
这个方法会调用自身来计算斐波那契数列的值。但是由于递归的性质,效率较低,当 n 较大时可能会出现性能问题。
2. 迭代方法:
```python
def fibonacci_iterative(n):
if n <= 0:
return 0
elif n == 1:
return 1
prev, curr = 0, 1
for _ in range(2, n+1):
prev, curr = curr, prev + curr
return curr
```
这个方法使用循环来计算斐波那契数列的值,避免了递归带来的性能问题。
你可以调用上述函数来获取指定位置的斐波那契数。例如,`print(fibonacci_recursive(10))` 或 `print(fibonacci_iterative(10))` 将会输出第10个斐波那契数。
Python用For Loop求解斐波那契数列
斐波那契数列是一个非常常见的数列,其前两项为1,其后每一项等于前两项之和。Python中可以用for loop求解斐波那契数列,代码如下:
```python
n = int(input("请输入斐波那契数列的项数:"))
fibonacci = [1, 1] # 初始化斐波那契数列的前两项
for i in range(2, n):
# 每一项等于前两项之和
fibonacci.append(fibonacci[i-1] + fibonacci[i-2])
print("斐波那契数列的前%d项为:" % n)
for i in range(n):
print(fibonacci[i], end=" ")
```
运行程序后,会提示用户输入斐波那契数列的项数,然后使用for loop求解斐波那契数列,并输出前n项。
阅读全文