MST
星途 面试题库

面试题:Python函数式编程实现斐波那契数列

使用Python函数式编程的思想(例如利用递归和高阶函数)实现斐波那契数列的生成函数,要求返回指定长度的斐波那契数列列表。
36.1万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def fibonacci(n):
    def inner_fib(a, b, count):
        if count == 0:
            return []
        elif count == 1:
            return [a]
        else:
            return [a] + inner_fib(b, a + b, count - 1)
    return inner_fib(0, 1, n)

你可以使用以下方式调用这个函数:

# 获取长度为10的斐波那契数列
result = fibonacci(10)
print(result)

上述代码通过递归的方式实现了斐波那契数列的生成。fibonacci 函数接受一个参数 n 表示要生成的斐波那契数列的长度。inner_fib 是内部递归函数,用于实际的计算。初始时,a 为0,b 为1,通过递归不断计算下一个斐波那契数,并构建列表。