python实现的斐波那契数列

 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是使用列表表达式来实现的, 太繁琐, 其实有很多其他方法的

作者:icejoywoo
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 短网址: http://goo.gl/ZiZCi
原文地址:https://www.cnblogs.com/icejoywoo/p/2744155.html