代码改变世界

python实现的斐波那契数列

2013-03-26 00:12  会被淹死的鱼  阅读(356)  评论(0编辑  收藏  举报
 1 def fabi(n):
 2     return 1 if n in (0,1) else fabi(n-1) + fabi(n-2)
 3 
 4 for x in range(5):
 5     print fabi(x)
 6 
 7 def fabi1(n):
 8     return ([1 for x in (1,) if n in (0,1)] + [fabi1(n-1) + fabi1(n-2) for x in (1,) if n >= 2])[-1]
 9     
10 for x in range(5):
11     print fabi1(x)

X if C else Y是python 2.5以后的新语法

fabi1是使用列表表达式来实现的, 太繁琐, 其实有很多其他方法的