Python实验6:模拟汉诺塔问题

编写函数,接受一个表示盘子数量的参数和分别表示源,目标,临时底座的参数,然后输出详细移动步骤和每次移动后三个底座上的盘子分布情况。
`class Pillar:
def init(self,str,num):
self.key=str
self.value=num

def Hanoi(num,a,b,c):
if num==1:
a.value-=1
c.value+=1
print(a.key,"->",c.key)
print(“盘子个数 A:{},B:{},C:{}”.format(a.value,b.value,c.value))
else:
Hanoi(num-1,a,c,b)
Hanoi(1,a,b,c)
Hanoi(num-1,b,a,c)
def main():
num=eval(input(“A上的盘子有:”))
a=Pillar(‘A’,num)
b=Pillar(‘B’,0)
c=Pillar(‘C’,0)
Hanoi(num,a,b,c)

main()`

上一篇:汉诺塔


下一篇:python正则表达式