我这个汉诺塔的代码到底错哪了?
def hanoi(n,x,y,z):if n==1:
print(x,'-->',z)
else:
hanoi(n-1,x,y,z)#将前n-1个盘子从x移动到z上
print(x,'-->',y)#将最底下最后一个盘子从x移动到y
hanoi(n-1,z,x,y)#将z上n-1个盘子移动到y上
n=int(input('请输入汉诺塔层数:'))
hanoi(n,'x','y','z')
执行的结果完成不了不了游戏,实在想不出哪错了,求指教 你的参数搞混了
如果要最后搬到z上,应该改成
def hanoi(n,x,y,z):
if n==1:
print(x,'-->',z)
else:
hanoi(n-1,x,z,y)
print(x,'-->',z)
hanoi(n-1,y,x,z)
n=int(input('请输入汉诺塔层数:'))
hanoi(n,'x','y','z')
昨非 发表于 2020-12-23 17:34
你的参数搞混了
如果要最后搬到z上,应该改成
我是想最后全部移动的Y上,不是Z,这样行不通吗? QWERRRRR 发表于 2020-12-24 07:57
我是想最后全部移动的Y上,不是Z,这样行不通吗?
直接该参数位置不香吗 昨非 发表于 2020-12-24 10:17
直接该参数位置不香吗
我这个改了啊,输出的结果完成不了游戏,怎么改?
页:
[1]