汉诺塔-python递归

汉诺塔-Python代码实现(递归)

python 复制代码
def hannoi(n: int, x: str, y: str, z: str):
    """ 汉诺塔 """
    if n == 1:  # 一块圆盘,直接移动到Z
        print(x, ' -> ', z)
    else:
        # 不为一块圆盘,先将n-1个圆盘,从X通过Z,移动到Y
        hannoi(n - 1, x, z, y)
        print(x, ' -> ', z)     # X上只剩一块,然后移动到Z
        hannoi(n - 1, y, x, z)  # 再将n-1块圆盘,从Y通过X移动到Z


if __name__ == '__main__':
    hannoi(4, 'X', 'Y', 'Z')

# X  ->  Y
# X  ->  Z
# Y  ->  Z
# X  ->  Y
# Z  ->  X
# Z  ->  Y
# X  ->  Y
# X  ->  Z
# Y  ->  Z
# Y  ->  X
# Z  ->  X
# Y  ->  Z
# X  ->  Y
# X  ->  Z
# Y  ->  Z

小破站讲解视频:汉诺塔实现讲解

相关推荐
ximen502_3 小时前
Python 语言知识总结
开发语言·python
流云鹤3 小时前
2.登录模块
python·django
C+-C资深大佬3 小时前
Java 变量:从入门到精通
java·开发语言·python
chouchuang4 小时前
day-027-面向对象-下
开发语言·python
华研前沿标杆游学4 小时前
2026年标杆游学机构选择指南:从资质审核到效果验收全流程本指南
python
衔烛之龙14 小时前
Windows x64 构建 liboqs-java教程
java·windows·python
VIP_CQCRE5 小时前
用 Ace Data Cloud 快速接入 AI 视频生成:HappyHorse Videos API 实战指南
人工智能·python·api·ai视频生成·acedatacloud
阿豪只会阿巴6 小时前
两小时快速入门 FastAPI--第二回
windows·python·fastapi
idingzhi6 小时前
A股量化策略日报(2026年07月12日)
python
二宝哥7 小时前
07.Python运算符详解与编码基础
python