Python 递归与汉诺塔
递归
调用函数自身的行为
有一个正确的返回条件
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') #调用
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。