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

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

求教求教!

spacer.gif前輩們https://img1.sycdn.imooc.com//5c2f217100011fcd03110216.jpg,請教下,為什么if后有print和return,這個我能理解,但是下邊三個move后不需要再加print和return???上邊的print是if后代碼塊的內容,按照理解,如果n不等于1,就不執行if后的代碼塊,計算機是如何理解按照if后的print執行打印和返回的?。?br />


正在回答

2 回答

這是我對漢諾塔遞歸函數每一層怎么計算的一點看法

def?move(n,?a,?b,?c):????
????print?n,a,b,c????
????if?n?==1:????????
????????print?a,?'-->',?c????????
????????return????
????move(n-1,?a,?c,?b)????
????print?'one',n-1,a,c,b????
????move(1,a,b,c)????
????print?'two',1,a,b,c????
????move(n-1,?b,?a,?c)????
????print?'three',n-1,b,a,c
move(4,?'A',?'B',?'C')
運行結果:
4?A?B?C
3?A?C?B
2?A?B?C
1?A?C?B
A?-->?B
one?1?A?C?B
1?A?B?C
A?-->?C
two?1?A?B?C
1?B?A?C
B?-->?C
three?1?B?A?C
one?2?A?B?C
1?A?C?B
A?-->?B
two?1?A?C?B
2?C?A?B
1?C?B?A
C?-->?A
one?1?C?B?A
1?C?A?B
C?-->?B
two?1?C?A?B
1?A?C?B
A?-->?B
three?1?A?C?B
three?2?C?A?B
one?3?A?C?B
1?A?B?C
A?-->?C
two?1?A?B?C
3?B?A?C
2?B?C?A
1?B?A?C
B?-->?C
one?1?B?A?C
1?B?C?A
B?-->?A
two?1?B?C?A
1?C?B?A
C?-->?A
three?1?C?B?A
one?2?B?C?A
1?B?A?C
B?-->?C
two?1?B?A?C
2?A?B?C
1?A?C?B
A?-->?B
one?1?A?C?B
1?A?B?C
A?-->?C
two?1?A?B?C
1?B?A?C
B?-->?C
three?1?B?A?C
three?2?A?B?C
three?3?B?A?C


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

這個是遞歸,你把遞歸理解了,再來看這個就簡單了

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

舉報

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

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

進入課程

求教求教!

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

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

幫助反饋 APP下載

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

公眾號

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