MST

星途 面试题库

面试题:Python函数定义与调用之递归与装饰器结合

编写一个递归函数来计算斐波那契数列。然后,使用装饰器对这个函数进行装饰,使得每次调用该函数时,打印出函数的输入参数以及计算结果。例如,调用fib(5),应打印'输入参数: 5,结果: 5',请写出完整代码。
38.5万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def log_decorator(func):
    def wrapper(n):
        result = func(n)
        print(f"输入参数: {n},结果: {result}")
        return result
    return wrapper

@log_decorator
def fib(n):
    if n <= 1:
        return n
    else:
        return fib(n - 1) + fib(n - 2)