赞
踩
- def move(pos1, pos2):
- print(f'{pos1} -> {pos2}')
-
- def hanoi(n, pos1, pos2, pos3):
- if n == 1:
- # 如果是最后一个直接从1放到3
- move(pos1, pos3)
- else:
- # 如果不是则先把n-1个从 1 通过 3 放到 2
- # 然后把最下面那个放到 3
- # 然后在把那n-1个从 2 通过 1 放到 3 上面
- hanoi(n-1, pos1, pos3, pos2)
- move(pos1, pos3)
- hanoi(n-1, pos2, pos1, pos3)
-
- if __name__ == '__main__':
- n = int(input('输入汉诺塔层数:'))
- hanoi(n, 'A', 'B', 'C')
'运行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。