您的位置:首页 > 编程语言 > Python开发

Python实现fibnacci

2015-07-31 17:32 711 查看
2014-10-29

今天面试python实习,其中一道题是实现fibnacci。分别写出三种方法 

方法1:if else模仿三目运算符 

f=lambda x:1 if x<2 else f(x-1)+f(x-2) 

方法2:and or 模仿三目运算符 

f1=lambda x: x<2 and 1 or (f1(x-1) +f1(x-2)) 

方法3:使用genarator 

def f2(x): a=1 b=1 n=1 while n<x: yield a n=n+1 a,b=a+b,a 

测试:

for i in range(10): print f(i), f1(i) 

for n in f2(10): print n 

结果: 1 1 1 1 2 2 3 3 5 5 8 8 13 13 21 21 34 34 55 55 1 2 3 5 8 13 21 34 55
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: