赞
踩
一、这是一道非常经典的练习题。
问题描述如下:
我们可以看到这其实是一个循环,知识第一块和第二块的第四次移动开始不同,是反过来的。
- def move(n, a='A', b='B', c='C'):
- if n == 1:
- print('移动{}的一个圆盘到{}'.format(a, c))
- return
- move(n-1, a, c, b) # 移动n-1个盘子,从a移动到b,借助c
- move(1, a, b, c) # 剩下一个盘子从a移动到c
- move(n-1, b, a, c) # 将柱子b上的n-1个圆盘,借助a柱(此时a柱为空),移动到c
- floor = int(input('请输入圆盘层数:'))
- move(floor)
以上理解仅供参考,欢迎指正!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。