重点:汉诺塔无论几层,全部拆分成最下面一层和上面所有一层,分三步走:
- 上面一层从a到b
- 最后一层从a到c
- 上面一层从b到c
def hanoi_tower(num, a, b, c):
if num == 1:
print(f"第1个盘:{a}->{c}")
else:
hanoi_tower(num - 1, a, c, b)
print(f"第{num}个盘:{a}->{c}")
hanoi_tower(num - 1, b, a, c)
hanoi_tower(8, 'a', 'b', 'c')