hanoi问题的Python完全自己思考解决过程

一开始我想要解决这个问题是在一天前,因为之前几天进行了拓展训练,完了这个游戏。

首先准备解决的时候,我想通过计算机自己选择进行输出,但是没有行得通;

然后,我想通过归纳法自己找出移动规律,教会计算机移动规则,但是发现其实没有什么规律;

最后,在上一步的基础上,发现其实这个规律就是递归函数。然后估计半个小时就解决了问题。总结起来,还是算法最为重要吧,就如同做事一样,其实战略策略是最为重要的。

代码如下:

def function(n,startpoint):
    if n==1 and startpoint=='a':
        print('1 a->b\n1 b->c\n')
    elif n==1 and startpoint=='c':
        print('1 c->b\n1 b->a\n')
    else:
        function(n-1,'a')
        print('%d a->b'%n)
        function(n-1,'c')
        print('%d b->c'%n)
        function(n-1,'a')
        
n=int(input('please input how many disk you want to move:'))
startpoint=input("please input start point.if from a->b->c,please input 'a',else input 'c':")
function(n,startpoint)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值