函式的遞迴結構
阿新 • • 發佈:2018-11-26
遞迴最顯著的特徵為函式會在函式內部繼續呼叫自己。
遞迴的效率不高,因為每層遞迴在等待值時會開闢記憶體,容易造成記憶體溢位。
遞迴結構的兩個要求:
1.遞迴必須有終止條件。
2.每進入一層遞迴,問題的規模要比上一層少。
幾個例子
def test(n):
print("這層開始時n=%.d" % n)
n = int(n / 2)
if n == 0:
return "結束"
res = test(n)
return res
A = test(10)
print(A)
person_list = ["LL", "YY", "Lucky", "BB", "MB"]
def askrode(person_list):
person = person_list.pop(0)
if len(person_list) == 0:
if person == "MB":
return "我知道地方,在太原"
else:
return "沒人知道路"
print("%s說我去給你問問%s" % (person, person_list))
res = askrode(person_list)
return res
result = askrode(person_list)
print(result)