汉诺塔-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

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

相关推荐
codeaideaai7 分钟前
使用UV创建python项目
python·fastapi·uv
yongche_shi15 分钟前
ragas官方文档中文版(十七)
python·ai·ragas·事实正确性
闵孚龙25 分钟前
Tensor:PyTorch 世界里的一切都是张量
人工智能·pytorch·python
Sam092727 分钟前
Java 转 AI Agent 开发:Java 和 Python 的区别与快速学习指南
java·人工智能·python·ai
在放️29 分钟前
Python 爬虫 · 模拟浏览器跳转 - 防盗链处理
爬虫·python
骑士雄师34 分钟前
21.2 mcp-server-chart 图表化作用
python
满怀冰雪1 小时前
01_LangChain是什么_带你理解LLM应用框架
python·langchain
稷下元歌1 小时前
python核心基础,这关于基于Moveltg加 Ros2实战Python编程基础实课
开发语言·python
财经资讯数据_灵砚智能1 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年6月10日
大数据·人工智能·python·ai·信息可视化·自然语言处理·灵砚智能
Wonderful U1 小时前
Python+Django实战|企业客户关系管理系统(CRM):客户档案、跟进记录、商机管理、合同签约、回款追踪、客户分层、数据分析
python·数据分析·django