002---递归

递归有两个重要的特点:

  • 调用自身
  • 必须要有结束条件

一个著名的汉诺拇问题

def hanoi(n, a, b, c):
    """
    n等于0的时候终止
    a,b,c 表示a经过b再经过c
    :param n:
    :param a:
    :param b:
    :param c:
    :return:
    """
    if n > 0:
        hanoi(n - 1, a, c, b)
        print('从 %s 移动到 %s' % (a, c))
        hanoi(n - 1, b, a, c)


hanoi(3, 'A', 'B', 'C')

"""
从 A 移动到 C
从 A 移动到 B
从 C 移动到 B
从 A 移动到 C
从 B 移动到 A
从 B 移动到 C
从 A 移动到 C
"""
原文地址:https://www.cnblogs.com/xjmlove/p/10273743.html