如何在Python中优雅地递归?
在Python中,递归通常被认为是一种优雅的解决方案,特别是对于树形结构或者解决可以自定义分解问题时。
以下是一个基本的递归示例,它计算阶乘(n!):
def factorial(n):
# 基线条件:0!和任何负数的阶乘都是1
if n == 0 or (n is not None and n < 0)):
return 1
# 递归情况:n * (n - 1)!
else:
return n * factorial(n-1)
print(factorial(5)) # 输出:120
这个例子展示了如何定义一个递归函数,以及如何在递归调用中逐步接近问题的解决方案。
还没有评论,来说两句吧...