函数可以调用自己,这种操作称作 递归,一个典型的例子就是计算斐波那契数列:
斐波那契数列的计算公式为 \(F(n) = F(n-1) + F(n-2)\) 其中 $ F(0) = 0 $ ,$ F(1) = 1 $
def fibonacci(n:int) -> int:
if n <= 0:
return 0
elif n == 1:
return 1
return fibonacci(n - 1) + fibonacci(n - 2)
n:int = int(input("请输入项数 n: "))
print(f"斐波那契数列的第 {n} 项为 {fibonacci(n)}")
注意,不能无限循环地自我调用,Python 中函数调用深度上限默认为 1000,超过这个上限的程序不能运行。