這里有一點不懂
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')
上面中 如果是拿n=2,會執行move(n-1, a, c, b),但相當于move(2-1, a, c, b),那就會 print a, '-->', c ?也就是A-->B 然后return 但為什么還會往下執行這兩段?
?print a, '-->', c
?move(n-1, b, a, c)
?不是執行了
?if n ==1:
? ? ? ? print a, '-->', c
? ? ? ? return
之后 return了么?為什么還會往下執行?
2019-07-26
這個return是跳出當前函數體。比如:
def fun()
def fun1()
fun(){
print 1
fun1(){
print 2
return #1
}
print 3
return #2
}結果是
1
2
3
1號return跳出fun1()
2號return跳出fun()
2019-07-26
感謝,我遺忘這一個知識點了。還有一個疑問 為什么不用else的?