» Python快速入门 » 3. 高级篇 » 3.3 递归

递归

如果你明白递归,你得先弄清楚递归...

在计算机科学中,递归是一种解决计算问题的方法,其中解决方案取决于同一问题的较小实例的解决方案。

斐波那契数列

def fibonacci(n):
    if n <= 1: # Stop here, you cannot recur forever
        return n
    else:
        # Call func itself, but with a smaller argument
        return fibonacci(n-1) + fibonacci(n-2)

print(fibonacci(1)) # 1
print(fibonacci(10)) # 55
print(fibonacci(20)) # 6765

阶乘

def factorial(n):
    if n == 1 or n == 0:
        return 1
    else:
        return n * factorial(n-1)

print(factorial(1)) # 1
print(factorial(6)) # 720
print(factorial(10)) # 3628800

代码挑战

修改编辑器中代码,为该数中每一位的数字求和。

Loading...
> 此处输出代码运行结果
上页
下页