【Python】Python實現N級臺階,一次可以走1步,2步,3步,一共多少種上樓梯方法
阿新 • • 發佈:2018-12-04
去面試的時候,筆試題有一個二選一,有一個是這個問題,當時選的另一個,現在實現下這個臺階問題。
如果只有一級臺階,那麼方法只有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型別的判斷。