
编写函数,接受一个表示盘子数量的参数和分别表示源,目标,临时底座的参数,然后输出详细移动步骤和每次移动后三个底座上的盘子分布情况。
`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实验6:模拟汉诺塔问题全部内容,希望文章能够帮你解决Python实验6:模拟汉诺塔问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)