窝窝头传奇 发表于 2021-5-4 15:52:19

程序出问题 帮忙看一下

求汉诺塔问题的代码

窝窝头传奇 发表于 2021-5-4 16:00:34

本帖最后由 窝窝头传奇 于 2021-5-4 16:18 编辑

def move(n,x,y,z):
    if n==1:
      print(x,'->',z)
    else:
      move(n-1,x,z,y)
      print(x,'->',z)
      move(n-1,y,x,z)

n=int(input('请输入一个数:'))
move(n,'X','Y','Z')
            

我这样就能顺利运行

qiuyouzhi 发表于 2021-5-4 16:11:50

用self.hanoi

伏惜寒 发表于 2021-5-4 20:15:02

def hanoi(self,n,x,y,z):
    if n==1:
      print(x,'->',z)
    else:
      self.hanoi(n-1,x,z,y)
      print(x,'->',z)
      self.hanoi(n-1,y,x,z)
#一定要加self,类似于标识符,它用来告诉编译器你用的是Solution类里面的函数,不然它找不到

帅周 发表于 2021-5-4 22:17:14

在对象中的hanoi要改成self.hanoi
页: [1]
查看完整版本: 程序出问题 帮忙看一下