7-14 菲波拉契(Fibonacci)数列python
时间: 2024-12-02 20:17:37 浏览: 113
斐波那契数列是一个经典的数学序列,每个数字是前两个数字之和,通常从0和1开始,即 F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2)。在Python中,你可以通过循环或递归来生成这个数列。下面是一个简单的迭代方法:
```python
def fibonacci(n):
fib_sequence = [0, 1] # 初始化序列
if n <= 1:
return fib_sequence[:n]
else:
while len(fib_sequence) < n:
fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
return fib_sequence
# 输出前14项
print(fibonacci(14))
```
如果你想要使用递归的方式,尽管它可能不如迭代高效,但可以这样实现:
```python
def fibonacci_recursive(n):
if n <= 1:
return n
else:
return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)
# 使用列表推导式生成并打印前14项,但注意递归方式效率较低,不适合大数值
print([fibonacci_recursive(i) for i in range(14)])
```
相关问题
用python实现菲波拉契数列
好的,用 Python 实现菲波拉契数列可以使用递归或循环方式来实现。下面是一个使用循环方式的例子:
```python
num = int(input("请输入一个正整数:"))
def fibonacci(num):
if num <= 0:
print("请输入大于0的正整数!")
elif num == 1:
return [1]
elif num == 2:
return [1, 1]
else:
fib = [1, 1]
for i in range(2, num):
fib.append(fib[i-1] + fib[i-2])
return fib
print(fibonacci(num))
```
这个程序会让用户输入一个正整数,然后使用循环方式计算并返回菲波拉契数列。
产生菲波拉契数列 编程产生菲波拉契数列20项,例如:0 1 1 2 3 5 8 13 21 给出完整解题代码
要生成菲波纳契数列的前20项,你可以使用循环或递归的方式。这里我提供两种方法:
**使用循环(迭代法):**
```python
def fibonacci_iterative(n):
fib_sequence = [0, 1] # 初始化前两项
while len(fib_sequence) < n:
next_num = fib_sequence[-1] + fib_sequence[-2]
fib_sequence.append(next_num)
return fib_sequence[:n]
# 生成并打印前20项
fibonacci_20 = fibonacci_iterative(20)
print(fibonacci_20)
```
**使用递归(但请注意,递归对于大数值可能会非常慢,因为它会重复计算很多子问题):**
```python
def fibonacci_recursive(n, a=0, b=1):
if n <= 0:
return []
elif n == 1:
return [a]
else:
result = fibonacci_recursive(n - 1, b, a + b)
result.insert(0, a)
return result
# 生成并打印前20项
fibonacci_20_recursive = fibonacci_recursive(20)
print(fibonacci_20_recursive)
```
运行上述代码,你会得到前20个斐波那契数列数字。选择哪种方法取决于你的需求和性能要求。
阅读全文
相关推荐














