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

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

還有點小問題,求助

def?Hanoi(n,a,b,c):

????if?n?==?1:

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

????else:

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

????????Hanoi(1,a,b,c)

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

n?=?int(input('請輸入漢諾塔層數(shù):'))

Hanoi(n,'a','b','c')

結(jié)果:

請輸入漢諾塔層數(shù):3

a --> c

a --> b

c --> b

a --> c

b --> a

b --> c

a --> c

如果是三層的話:那么是a-->c , a -- b,之后的那個c --> b是怎么打出來的?


正在回答

3 回答

def?Hanoi(3,a,b,c):
????if?n?==?1:
????????print(a,'-->',c)
????else:
????????Hanoi(2,a,c,b)???????????????#1-1??注意實參順序,b和c位置顛倒
????????Hanoi(1,a,b,c)???????????????#1-2
????????Hanoi(2,b,a,c)???????????????#1-3???注意實參順序,a和b位置顛倒
n?=?int(input('請輸入漢諾塔層數(shù):'))
Hanoi(n,'a','b','c')

下面進入1-1的函數(shù):

def?Hanoi(2,a,b,c):???????#1-1實參傳入的是Hanoi(2,a,c,b),注意b和c是反的,即實參b=形參c,實參c=形參b
????if?n?==?1:
????????print(a,'-->',c)????????????#這句其實的意思是“形參2-->形參4”
????else:
????????Hanoi(1,a,c,b)???????????????#1-1-1
????????Hanoi(1,a,b,c)?????????????????#1-1-2
????????Hanoi(1,b,a,c)???????????????#1-1-3
n?=?int(input('請輸入漢諾塔層數(shù):'))
Hanoi(n,'a','b','c')

首先要明白形參和實參的概念,形參是在函數(shù)內(nèi)部用的,實參是調(diào)用時賦值給形參的。

所以在1-1的函數(shù)中b和c是反的哦.然后我們把3代入n中:

1-1-1的函數(shù)運行結(jié)果是 ?a-->c ?(b和c相反,“形參2 a-->形參4 c”),之后返回1-1中繼續(xù)下一條語句1-1-2

1-1-2的函數(shù)運行結(jié)果是 ?a-->b(b和c相反,“形參2 a-->形參4 b”) , 之后返回1-1中繼續(xù)下一條語句1-1-3

1-1-3的函數(shù)運行結(jié)果是 ?c-->b (b和c相反,“形參2 c-->形參4 b”), 之后返回最外面的函數(shù)繼續(xù)下一條語句1-2,以此類推


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

DawnCat13

運行的順序是: 1-1 1-1-1 1-1-2 1-1-3 1-2 1-3 1-3-1 1-3-2 1-3-3
2016-04-13 回復(fù) 有任何疑惑可以回復(fù)我~
#2

Capricorn_x 提問者

解釋的太清楚啦,多謝多謝!
2016-04-13 回復(fù) 有任何疑惑可以回復(fù)我~

當(dāng)n=3時,執(zhí)行Hanoi(3,'a','b','c')

n!=1,執(zhí)行else?? Hanoi(2,'a','c','b')

此時需要把Hanoi(2,'a','c','b')執(zhí)行完才會執(zhí)行初始程序中的else的第二行?Hanoi(1,a,b,c)


執(zhí)行Hanoi(2,'a','c','b')的過程為

??????? Hanoi(2-1,'a','b','c')

????????Hanoi(1,'a','c','b')

????????Hanoi(2-1,'c','a','b')

得到打印的前三個結(jié)果


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

Capricorn_x 提問者

嗯嗯,懂啦,是參數(shù)問題,多謝多謝
2016-04-13 回復(fù) 有任何疑惑可以回復(fù)我~

大兄弟,你有行代碼錯了吧

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

Capricorn_x 提問者

應(yīng)該沒錯吧?我驗證了幾次
2016-04-13 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

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

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

進入課程

還有點小問題,求助

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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