1. 程式人生 > >2018-6-6-Python全棧開發day15-part2-遞歸

2018-6-6-Python全棧開發day15-part2-遞歸

條件 pop 溢出 在哪裏 return 並且 AR 效率 應該

遞歸

  在函數內繼續運行函數,知道達成某一目標,最終返回值。

遞歸的特性:

    1.函數必須有明確的結束條件

    2.沒進入一次遞歸,需要處理的問題應該減少

    3.遞歸的效率很低,需要防止內存溢出

上課習題

 

1.問路

  

#問路,大路上有幾個人,問其中一個人是否知道某地在哪裏
s1=[alex,xuzheng,xiaoye,haibin]
def wenlu(s1):
    person=s1.pop(0)#將路人名單單個調出來進行詢問,並且使沒有問的名單減少

    if person == haibin:#只有海濱知道路怎麽走
        return
啊我知道太平貨櫃怎麽走 if len(s1) == 0: return 沒有人知道路怎麽走 print(不好意思我也不知道,我幫你問一下) res=wenlu(s1) return res res=wenlu(s1) print(res)

很粗糙的遞歸

str = input(請輸入若幹字符:)


def f(x):
    if x == -1:
        return ‘‘
    else:
        return str[x] + f(x - 1)


print(f(len(str) - 1))

----
Alex
==== xela

自己寫的

def zhuan(x):
    if x == 0:
        return ‘‘
    else:
        a=s[x-1]+zhuan(x-1)
        return a
b=zhuan(len(s))
print(b)

2018-6-6-Python全棧開發day15-part2-遞歸