Python 使用递归打印斐波那契数列

Document 对象参考手册 Python3 实例

斐波那契数列是一个经典的递归问题,其中每个数字是前两个数字的和。数列的前两个数字通常是 0 和 1。我们可以使用递归函数来生成斐波那契数列。

实例

def fibonacci(n):
    if n <= 0:
        return []
    elif n == 1:
        return [0]
    elif n == 2:
        return [0, 1]
    else:
        fib_sequence = fibonacci(n - 1)
        fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
        return fib_sequence

# 打印前 10 个斐波那契数列
print(fibonacci(10))

代码解析:

  1. fibonacci 函数接受一个整数 n 作为参数,表示要生成的斐波那契数列的长度。
  2. 如果 n 小于等于 0,返回一个空列表。
  3. 如果 n 等于 1,返回只包含 0 的列表。
  4. 如果 n 等于 2,返回包含 0 和 1 的列表。
  5. 对于 n 大于 2 的情况,递归调用 fibonacci(n - 1) 来生成前 n-1 个斐波那契数列,然后将最后两个数字相加并追加到列表中。

输出结果:

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

Document 对象参考手册 Python3 实例