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

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

看不懂答案,為什么結果會出來那么多?到底遞歸了多少次

為什么結果會出來那么多?到底循環了多少次?函數內參數的順序是任意的嗎?

正在回答

3 回答

因為每次遞歸他就要走完全部代碼除非遇到return

1,if n==1:

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

2,move(n-1, a, c, b)
3,print a, '-->', c

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

當調用move(4, 'A', 'B', 'C')時進入函數后,

他要走1->2->3->4

到2時遞歸又要走一個1->2->3->4

把2的所有遞歸走完 還要回去走 3->4

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

幾種方案:

1、break跳出循環(如:while n>=100 ? break)

2、定義循環的范圍

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

遞歸的調用是倒過來的,你可以用n=2的帶入你的函數觀察執行步驟,然后n=3依次。參數是根據傳入的順序判斷的,跟值沒有關系。

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

舉報

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

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

進入課程

看不懂答案,為什么結果會出來那么多?到底遞歸了多少次

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

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

幫助反饋 APP下載

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

公眾號

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