第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

給不明白的同學(xué)解釋一下,如果有理解錯誤請指出謝謝~

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')

首先了解函數(shù)的意思,n代表個數(shù),3個參數(shù)的意思是a通過b移動到c

然后就有了如下的內(nèi)容:

遞歸的思路就是重復(fù),我們可以看看n=1的時候,應(yīng)該就是直接把a移動到c就好,所以終止條件就有了。

那如何到這個終止條件的前一步呢,正如題目所說,a應(yīng)該只有最后一個圓盤,其余的都在b,所以問題就編程了將a的n-1個盤移動到b上,所以我們第二行寫move(n-1,a,c,b),注意print的時候還是a和c,這里的a和c代表的是第一個柱子和第三個柱子。

這時候我們就已經(jīng)完成了第一步,將最后一個圓盤移動到了C上,然后現(xiàn)在的狀態(tài)是第一個柱子沒有,第二個柱子有n-1個,第三個柱子有1個,然后視第三個柱子為完成,我們現(xiàn)在要做的是將第二個柱子的前n-1個移動到a,最后一個移動到C,按照我們函數(shù)的寫法就應(yīng)該是(n-1,b,a,c),也就是b柱子通過a柱子移動到c上。

這樣應(yīng)該就比較好理解了吧~

正在回答

3 回答

? ? ? return

? ? move(n-1,a,c,b)

? ? print a,'-->',c

? ? move(n-1,b,a,c)

我不懂return到底返回了什么,是返回了下面這三行語句嗎?

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

幕布斯1309840

return只返回了n==1的值,下面的跟他沒關(guān)系
2016-09-27 回復(fù) 有任何疑惑可以回復(fù)我~
#2

Bjf

返回空啊
2017-09-02 回復(fù) 有任何疑惑可以回復(fù)我~

Mark一下

0 回復(fù) 有任何疑惑可以回復(fù)我~

我想問問你:“def move(n, a, b, c):”這里的a,b,c,是不是分別對應(yīng),ABC,即a=A,b=B,c=C,那到后面這些abc的對應(yīng)值變了沒有?還有,是哪一行操作是讓python對這個移動方案進行一一羅列的?

1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
初識Python
  • 參與學(xué)習(xí)       758365    人
  • 解答問題       8967    個

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

進入課程
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號