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

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

沒有b-->c 但是輸出了這個

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) ? ?###print b, '-->',c ? ? move(4, 'A', 'B', 'C') #為啥不用添加一個b-->c 呢 ? 而且 ? 結果里面居然有b-->c ? 求解惑

正在回答

2 回答

http://img1.sycdn.imooc.com//59191d020001585f05230479.jpg


看到底部還有一個move(n-1, b, a, c)這個遞歸函數。


1,n=4 , A , B, C

2,n=3 , A , C, B

3,n=2 , A , B, C

4,n=1 , A , C, B


執行 第四行的 print a, '-->', c, n

打印 print A --> B ?1

return 返回 所以這是當n=1這個函數跳出去,跳入到n=2這個函數里面


n = 2 A, B, C


執行 第0行的 print a, '-->', c, n

打印 print A --> C 2


執行第二行的move(n-1, b , a, c)


因為當前的函數是 n = 2 A, B, C


所以依次執行 ,

n = 2?


move(2-1, B, A, C)


執行 n==1


執行打印 第4行的 print a, '-->', c, n


打印 B --> C 1


..........



所以以此類推


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

LCpeople

為什么第四行打印的是A→B
2017-07-19 回復 有任何疑惑可以回復我~

研究了半小時,終于能理解了,謝謝大神

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

舉報

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

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

進入課程

沒有b-->c 但是輸出了這個

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

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

幫助反饋 APP下載

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

公眾號

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