汉诺塔问题是经典的递归问题之一。下面是使用 Python 实现汉诺塔问题的代码:
```python
def hanoi(n, source, target, auxiliary):
if n > 0:
# 先将 n-1 个盘子从源柱子移动到辅助柱子(递归调用)
hanoi(n-1, source, auxiliary, target)
# 将剩下的一个盘子从源柱子移动到目标柱子
print('Move disk {} from {} to {}'.format(n, source, target))
# 再将辅助柱子上的盘子移动到目标柱子(递归调用)
hanoi(n-1, auxiliary, target, source)
# 测试代码
hanoi(3, 'A', 'C', 'B') # 源柱子为 A,目标柱子为 C,辅助柱子为 B
```
在上述代码中,我们定义了一个名为 `hanoi` 的函数,该函数接受四个参数:盘子的数量 `n`,源柱子 `source`,目标柱子 `target` 和辅助柱子 `auxiliary`。函数的主要逻辑是先将 `n-1` 个盘子从源柱子移动到辅助柱子(递归调用),然后将剩下的一个盘子从源柱子移动到目标柱子,最后再将辅助柱子上的盘子移动到目标柱子(递归调用)。这样就完成了汉诺塔问题的求解。在代码中,我们使用了 Python 的 print 函数来输出每一步的移动过程。