课程
/后端开发
/Python
/初识Python
可以理解通过三大步骤,实现转移。想问实现一个move(n-1,a,c,b),计算机是如何知道我要输出每一步的指令的?
2018-06-08
源自:初识Python 7-5
正在回答
def move(n, a, b, c): if n == 1: print a,'-->',c return; move((n - 1), a, c ,b); print a,'-->',c move((n - 1), b, a, c); move(4, 'A', 'B', 'C')
因为方法中有调用print打印啊,a和c都是一直在变的
最开始我纠结要指定首次是a-->b还是a-->c,后来看了答案发现根本不用
我的理解是在计算前,计算机并不知道是先a-->b还是a-->c。如果第一步选错了,最终失败或者会回到初始状态,也就是说,之前的步骤都没有意义;如果选对了,最终能达到目标。计算机是计算了所有可能,但是只给出了最优的步骤,略去了无效的步骤。不知道理解的对不对
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序