递归
调用函数自身的行为
有一个正确的返回条件
- def factorial(n):
- if n == 1:
- return 1
- else:
- return n * factorial(n-1)
- number = int(input('请输入一个正整数:'))
- result = factorial(number)
- print('%d 的阶乘为:%d' % (number,result))
- def hanoi(n, x, y, z):
- if n == 1:
- print(x, '-->', z)
- else:
- hanoi(n-1, x, z, y) #将前 n-1 个盘子从 x 移动到 y 上
- print(x, '-->', z) #将最底下的最后一个盘子从 x 移动到 z 上
- hanoi(n-1, y, x, z) #将 y 上的 n-1 个盘子移动到 z 上
- n = int(input('请输入汉诺的层数:'))
- hanoi(n, 'a', 'b', 'c') #调用
来源: http://www.bubuko.com/infodetail-2670620.html