2013年 四月 28日 周日 | tags: python, arithmetic, functional, -- (permalink)

今天看InfoQ上的一篇关于 Fn.py 的文章,Fn中的Stream可以实现无限序列,例如文章中的代码:

f = Stream()
fib = f << [0, 1] << map(lambda x, y: x + y, f, drop(1, f))

这是实现了一个无限的斐波那契数列,我根据这个实现了一个等比级数,等比级数的公式是f = b(n-1), b是基数,n=1 f=1, n>=2 f=b(n-1)。

我实现的方法使用了生成器:

def geo_sequence(b):
    n = 2
    while 1:
        yield b ** (n - 1)
        n ...