**函数 `hanoi` 用于递归地将盘子从一个开始位置移动到另一个目标位置。**
**参数:**
* `n`:要移动的盘子的数量。
* `a`:源位置。
* `b`:中间位置。
* `c`:目标位置。
**算法:**
1. 如果 `n` 是大于 0 的,递归地移动 `n - 1` 个盘子从源位置 `a` 到目标位置 `c`。
2. 打印消息,显示正在移动第 `n` 个盘子。
3. 递归地移动 `n - 1` 个盘子从中间位置 `b` 到目标位置 `c`。
4. 最后,递归地移动最后一个盘子从源位置 `a` 到目标位置 `c`。
**示例:**
```python
hanoi(5, 'A', 'B', 'C')
# 输出:
# moving from A to B
# moving from B to C
# moving from A to B
# moving from B to C
# moving from A to C
```
**总结:**
`hanoi` 函数利用递归来实现盘子移动的算法。它通过打印消息和移动盘子来演示算法的执行过程。
# _*_coding:utf-8_*_
def hanoi(n, a, b, c):
if n > 0:
hanoi(n - 1, a, c, b)
print("moving from %s to %s" % (a, c))
hanoi(n - 1, b, a, c)
hanoi(5, 'A', 'B', 'C')