def iters():#先构造一个从3开始的奇数序列。这是一个生成器,并且是一个无限序列
n=1
while 1:
n=n+2
yield n
def isinit(n):#筛选函数
return lambda x:x%n>0
def prime():
yield 2
it=iters()# 初始序列
while 1:
n=next(it)# 返回序列的第一个数
yield n
it=filter(isinit(n),it)# 构造新序列
for n in prime():
if(n<1000):
print(n)
else:
break