def frog(n):
def counter():
nonlocal total_steps
total_steps += 1
print(f"青蛙已累计跳上{total_steps}级台阶")
total_steps = 0
def jump(n):
if n == 0:
return 1
if n < 0:
return 0
counter()
return jump(n-1) + jump(n-2)
return jump(n)
# 测试
n = 5
print(f"跳上{n}级台阶共有{frog(n)}种跳法")
这段代码实现了一个frog函数,利用递归计算了跳上n级台阶有多少种跳法,并通过闭包函数实现了累计跳上的台阶数的功能。在测试中,将n设为5,可以看到输出结果包括跳上5级台阶共有多少种跳法以及青蛙累计跳上的台阶数。
|