1, $|=1
2, a = lambda x,y,n : (n>3) and a(y,x+y,n-1) or x+y
第n个值就是 a(0,1,n),如 第5个就是 a(0,1,5)
如果非要写成一行,那就
a = lambda x,y,n : (n>3) and a(y,x+y,n-1) or x+y; a(0,1,5)
严格说,这个算法有个缺陷,算第一个时候得出的是1,而不是0,改进一下就是:
a = lambda x,y,n : (n==1) and 0 or ((n>3) and a(y,x+y,n-1) or x+y);a(0,1,1)
得出的就是 '0'