Python中的递归问题及解决方案
在Python中,递归是一种函数调用自身的技术。以下是递归问题的示例以及解决方法:
示例1:计算阶乘
def factorial(n):
if n == 0: # 基线条件
return 1
else:
return n * factorial(n-1) # 递归调用
n = 5 # 计算5的阶乘
print(factorial(n))
示例2:斐波那契数列
def fibonacci(n):
if n <= 0: # 基线条件
return "Invalid input"
elif n == 1:
return [0]
elif n == 2:
return [0, 1]
else:
fib_seq = fibonacci(n-1)
fib_seq.append(fib_seq[-1] + fib_seq[-2]))
return fib_seq
n = 6 # 计算斐波那契数列的第6项
print(fibonacci(n)))
总结:在解决递归问题时,首先明确基线条件(停止递归的条件),然后通过递归调用逐步接近问题解决方案。
还没有评论,来说两句吧...