Python 使用递归打印斐波那契数列
斐波那契数列是一个经典的递归问题,其中每个数字是前两个数字的和。数列的前两个数字通常是 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))
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))
代码解析:
fibonacci
函数接受一个整数n
作为参数,表示要生成的斐波那契数列的长度。- 如果
n
小于等于 0,返回一个空列表。 - 如果
n
等于 1,返回只包含 0 的列表。 - 如果
n
等于 2,返回包含 0 和 1 的列表。 - 对于
n
大于 2 的情况,递归调用fibonacci(n - 1)
来生成前n-1
个斐波那契数列,然后将最后两个数字相加并追加到列表中。
输出结果:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
点我分享笔记