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

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

兩個print怎么實現了打印所有步驟?

我知道這代碼的意思,先將n-1個移動到中轉柱上,再將第n個移動到目的柱上。

n-1個餅一直重復執行move直到為1才能return。return后回到剛剛停下的地方繼續執行下去。就這樣通過2個print得到了15個步驟。

可是怎么想也想不通為什么這兩個print就能打印出全部的步驟。

我484蠢- -

????????????????????????????????


正在回答

2 回答

我覺得不對,你返回第一次執行的話,return,直接函數就結束了,只print一個a--b

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

最笨也是最簡單的方法:自己寫出每一步執行步驟和結果就可以了。

例如move(2, a, b, c)運行的時候:

? ? 第一層if不滿足,執行else,move(1, a, c, b),進入第二層

? ? 第二層if滿足,打印a-->b(注意參數不是最開始的abc,而是第一層里面的acb了),返回

? ??第一層繼續執行,打印a-->c

? ??第一層繼續執行,執行move(1, b, a, c),進入第二層

? ??第二層if滿足,打印b-->c(注意參數又變成了第一層的bac),返回

用笨辦法做過一遍以后,就發現print沒問題,只不過是每次遞歸調用時參數的位置變了而已。笨辦法雖然麻煩,但其實是可以加深對知識理解深度的。這套教程寫得不錯,但練習設置得都太簡單,學員缺少練手的機會,容易眼高手低,要知道光靠“看”是學不會“寫”程序的。

2 回復 有任何疑惑可以回復我~
#1

風在發端Ali

我看懂都參考代碼都有點吃力,需要看各位的解釋才能懂。。是不是有點蠢。。不適合學這個啊
2016-01-21 回復 有任何疑惑可以回復我~
#2

慢慢懂你的故事

非常感謝
2016-10-29 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

兩個print怎么實現了打印所有步驟?

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

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

幫助反饋 APP下載

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

公眾號

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