1. 程式人生 > >【Python】Python實現N級臺階,一次可以走1步,2步,3步,一共多少種上樓梯方法

【Python】Python實現N級臺階,一次可以走1步,2步,3步,一共多少種上樓梯方法

去面試的時候,筆試題有一個二選一,有一個是這個問題,當時選的另一個,現在實現下這個臺階問題。
如果只有一級臺階,那麼方法只有1種,如果是有二級臺階,那麼方法2種,如果三屆臺階,那麼實現方法有4種。
如果臺階數再增加,大於三屆臺階以後,可以認為是隻有一二三級臺階的一個重複實現,可以使用遞迴的方法來進行實現。

def go_upstairs(num):
    if num == 1:
        return 1
    elif num ==2 :
        return 2
    elif num ==3:
        return 4
    else:
        return go_upstairs(num-1)+go_upstairs(num-2)+go_upstairs(num-3)
num = input("請輸入臺階數:")
try:
    num = int(num)
    steps = go_upstairs(num)
    print(steps)
except Exception as e:
    print("不是數字")

這裡如果考慮仔細點,是需要進行型別判斷的,型別判斷可以使用int強轉str,如果報錯,那麼可以輸出錯誤資訊。
也可以使用isinstance(num,int),來進行num是否為int型別的判斷。