課程
/后端開發
/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程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-06-20
因為方法中有調用print打印啊,a和c都是一直在變的
2018-06-08
最開始我糾結要指定首次是a-->b還是a-->c,后來看了答案發現根本不用
我的理解是在計算前,計算機并不知道是先a-->b還是a-->c。如果第一步選錯了,最終失敗或者會回到初始狀態,也就是說,之前的步驟都沒有意義;如果選對了,最終能達到目標。計算機是計算了所有可能,但是只給出了最優的步驟,略去了無效的步驟。不知道理解的對不對