r“”用于OEIS序列号A000213的Python模块。三波那契数:a(n)=a(n-1)+a(n-2)+a,其中a(0)=a(1)=b(2)=1。使用示例。----------------------------------------------------------------------->>>从a000213导入*>>>打印000213_列表(15)[1, 1, 1, 3, 5, 9, 17, 31, 57, 105, 193, 355, 653, 1201, 2209]>>>打印000213_偏移0>>>对于a000213_list_pairs(6)中的x:…打印x...(0, 1)(1, 1)(2, 1)(3, 3)(4,5)(5, 9)>>>a000213_列表_最多(1000)[1, 1, 1, 3, 5, 9, 17, 31, 57, 105, 193, 355, 653]>>>打印a000213(3)-----------------------------------------------------------------------"""从itertools导入islice、izip、takewhile__all__=('a000213_offset','a000213_list','A000214_list_pairs','a000213_list_upto','an000213','aw00213_gen')__author__='尼克·霍布森'a000213_offset=偏移=0定义a000213_gen():“”“OEIS序列A000213的生成器功能。”“”x=y=z=1为True时:产量xx、 y,z=y,z,x+y+z定义a000213_list(n):“”“返回前n>=0个术语的列表。”“”如果n<0:raise ValueError,'输入必须是非负整数'返回列表(islice(a000213_gen(),n))定义a000213_list_pairs(n):“”“返回第一个n>=0项的元组(n,a(n))列表。”“”如果n<0:raise ValueError,'输入必须是非负整数'返回列表(izip(xrange(offset,n+offset),a000213_gen()))定义a000213_list_upto(m):“”“返回所有不超过m>=0的术语的列表。”“”如果m<0:raise ValueError,'输入必须是非负整数'返回列表(takewhile(lambda t:t<=m,a000213_gen()))定义a000213(n):“”“返回索引n>=0;偏移量为0的术语。”“”如果n<offset:raise ValueError,'输入必须是整数>=offset='+str(offset)返回列表(islice(a000213_gen(),n-offset,n-offset+1)).pop()