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

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

相关推荐
爱笑的眼睛115 分钟前
文本分类的范式演进:从统计概率到语言模型提示工程
java·人工智能·python·ai
星川皆无恙10 分钟前
基于知识图谱+深度学习的大数据NLP医疗知识问答可视化系统(全网最详细讲解及源码/建议收藏)
大数据·人工智能·python·深度学习·自然语言处理·知识图谱
Tipriest_16 分钟前
旋转矩阵,齐次变换矩阵,欧拉角,四元数等相互转换的常用代码C++ Python
c++·python·矩阵
周杰伦_Jay17 分钟前
【Go/Python/Java】基础语法+核心特性对比
java·python·golang
小鹿学程序23 分钟前
jdk配置完之后java -version还是默认的jdk版本如何更改
java·开发语言·python
Pyeako28 分钟前
Python数据可视化--matplotlib库
python·matplotlib·数据可视化·画图·pylab
m0_7048878932 分钟前
Day 35
python·深度学习·机器学习
华研前沿标杆游学38 分钟前
参观深圳比亚迪总部,探索科技,感受中国“智”造魅力
python
爱打代码的小林1 小时前
python基础(逻辑回归例题)
开发语言·python·逻辑回归
qq_214782611 小时前
pandas“将”迎来v3.0.0大版本更新!
python·pandas