标签:使用 return lob step pytho 汉诺塔 glob highlight python3.7
move_count = 0 ;
def hanoi(n,src,buffer,dst):
‘n:需移动的盘子个数,src:盘子原来的位置,buffer:盘子可临时使用的位置,dst:盘子的目标移动位置‘
global move_count;
if n < 1:
print(‘输入有误‘);
return None;
elif n==1:
print(src + ‘----->‘ + dst);
move_count += 1;
else:
hanoi(n-1,src,dst,buffer);
hanoi(1,src,buffer,dst);
hanoi(n-1,buffer,src,dst);
move_count = 0 ;
hanoi(5,‘A‘,‘B‘,‘C‘);
print(‘move_steps = ‘,move_count);
print(hanoi.__doc__);
运行结果(Python3.7):
A----->C
A----->B
C----->B
A----->C
B----->A
B----->C
A----->C
A----->B
C----->B
C----->A
B----->A
C----->B
A----->C
A----->B
C----->B
A----->C
B----->A
B----->C
A----->C
B----->A
C----->B
C----->A
B----->A
B----->C
A----->C
A----->B
C----->B
A----->C
B----->A
B----->C
A----->C
move_steps = 31
n:需移动的盘子个数,src:盘子原来的位置,buffer:盘子可临时使用的位置,dst:盘子的目标移动位置
标签:使用 return lob step pytho 汉诺塔 glob highlight python3.7
原文地址:https://www.cnblogs.com/alimy/p/10373071.html