不使用递归:
# -*- coding:utf-8 -*- class Solution: def Fibonacci(self, n): # write code here a =0 b = 1 i=0 if n == 0: return 0 else: while i < n: #n等于几就循环几圈 i+=1 b, a= a+b,b #这样写时候,左边的两个值分别用旧的a,b如果分成两行的话就乱套了,a是n的值,b是n+1的值 return a
使用递归:
def fab(n): if n == 0: return 0 elif 0<n<=2: return 1 else: return fab(n-1)+fab(n-2) print(fab(5))