当前位置:   article > 正文

Python实现汉诺塔代码_汉诺塔python代码

汉诺塔python代码
  1. def hanoi(n,x,y,z):
  2. if n == 1:
  3. print(x,'-->',c)
  4. else:
  5. hanoi(n-1,x,z,y)
  6. #将前n-个盘子从x移动到y上
  7. hanoi(1,x,y,z)
  8. #将第n个盘子从x移动到z上
  9. hanoi(n-1,y,x,z)
  10. #将y上的n-1个盘子从y移动到z上
  11. n = int(input('请输入汉诺塔层数:'))
  12. hanoi = (n,'x','y','z')

学习Python中遇到的实际困难,汉诺塔程序,希望对大家有帮助,

详解如下:

最开始我遇到的困难时定义的hanoi()函数调用的过程中,x,y,z的顺序看不懂,其实换一种思想,

不论怎么移动,都可以将三根柱子分为,起始柱,辅助柱,目标柱

第一步:将n-1个盘子从x移动到y                      实际情况是:x为起始柱,z为辅助柱,y为目标柱

第二步:将第n个盘子从x移动到z                     实际情况是:x为起始柱,y为辅助柱,z为目标柱

第三步:将在y柱上的n-1个盘子从y移动到z      实际情况是:y为起始柱,x为辅助柱,z为目标柱

故调用结果为:

haooi  (n-1,x,z,y)

hanoi  (1,x,y,z)

hanoi  (n-1,y,x,z)

希望对大家有帮助!!!更多福利下方领取哦!


 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/991221
推荐阅读
相关标签
  

闽ICP备14008679号