gpt4 book ai didi

python - 递归求解汉诺塔

转载 作者:太空宇宙 更新时间:2023-11-03 19:06:11 25 4
gpt4 key购买 nike

我知道汉诺塔背后的想法,也知道算法,但我在实现它时遇到了困难。

class Hanoi:
def __init__(self, n):
== code==

def move(self, src, dst):
=code for moving the disk from source to destination==

def spare(self, src, dst):
==Returns the peg which is not src and dst==

def print_pegs(self):


h = Hanoi(4)

def hanoi(n, src, dst):
if n==1:
h.move(src,dst)
else:
spare=h.spare(src,dst)
hanoi(n-1,src,spare)
hanoi(1,src,dst)
hanoi(n-1,spare,dst)

hanoi(4, 0, 2)

我遇到的问题是我不知道如何将递归定义与类函数结合起来来移动磁盘。

最佳答案

您需要将递归调用放在 move()spare() 的主体内,并移动函数 hanoi() 的逻辑code>进入相关方法

所以

class Hanoi(object):

# snip

def move(self, src, dst):

# your logic goes here
# example of a recursive call
self.move(foo, bar)

关于python - 递归求解汉诺塔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14651636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com