亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問定義move()只輸入了參數,為什么能將一步步指令輸出出來呢?

可以理解通過三大步驟,實現轉移。想問實現一個move(n-1,a,c,b),計算機是如何知道我要輸出每一步的指令的?

正在回答

2 回答

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都是一直在變的

0 回復 有任何疑惑可以回復我~

最開始我糾結要指定首次是a-->b還是a-->c,后來看了答案發現根本不用

我的理解是在計算前,計算機并不知道是先a-->b還是a-->c。如果第一步選錯了,最終失敗或者會回到初始狀態,也就是說,之前的步驟都沒有意義;如果選對了,最終能達到目標。計算機是計算了所有可能,但是只給出了最優的步驟,略去了無效的步驟。不知道理解的對不對

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758388    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

請問定義move()只輸入了參數,為什么能將一步步指令輸出出來呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號