题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
简单题,练习了下生成器
# -*- coding:utf-8 -*-
from itertools import *
class Solution:
def Fibonacci(self, n):
# write code here
# 注意,输入有0这种情况
if n == 0:
return 0
# 用 itertools.islice 方法获得级数的前 n 项
li = list(islice(self.Fib(), n))
return li[n - 1]
def Fib(self):
# 斐波那契数列从1开始的
x, y = 1, 1
while True:
yield x
x, y = y, x + y
if __name__ == "__main__":
a = Solution()
a.Fibonacci(0)