'return'在此處什么含義
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')
return什么意思在此處;第7行后面為何不用return就可以運行。
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')
return什么意思在此處;第7行后面為何不用return就可以運行。
2019-07-09
舉報
2019-07-09
當n=1時只需要直接將a移動到c就可以了,整個操作結束,通過return終止操作;如果這里沒有return,程序會繼續向下執行
move(n
-
1
,?a,?c,?b)
,這時n=1,會導致傳入的第一個參數為0,最終導致程序錯誤。2019-07-11
給你一張圖片可以更好的理解遞歸函數。