用python语言代码实现汉诺塔
时间: 2023-11-20 09:12:16 浏览: 75
python实现汉诺塔
3星 · 编辑精心推荐
好的,以下是用 Python 实现汉诺塔的代码:
```python
def hanoi(n, source, auxiliary, target):
if n > 0:
# 递归调用 hanoi 函数,将 n-1 个盘子从源柱子移动到辅助柱子
hanoi(n-1, source, target, auxiliary)
# 将源柱子的最后一个盘子移动到目标柱子
if source:
target.append(source.pop())
# 递归调用 hanoi 函数,将 n-1 个盘子从辅助柱子移动到目标柱子
hanoi(n-1, auxiliary, source, target)
# 测试函数
source = [4,3,2,1]
target = []
auxiliary = []
hanoi(len(source), source, auxiliary, target)
print(source, auxiliary, target)
```
输出结果如下:
```
[] [] [4, 3, 2, 1]
```
其中,`source` 代表源柱子,`auxiliary` 代表辅助柱子,`target` 代表目标柱子。在上述代码中,我们通过递归调用 `hanoi` 函数来实现汉诺塔问题。
阅读全文