【发布时间】:2014-10-31 15:32:01
【问题描述】:
我正在尝试编写一个用于打印素数的生成器函数,如下所示
def getPrimes(n):
prime=True
i=2
while(i<n):
for a in range(2,i):
if(i%a==0):
prime=False
break
if(prime):
yield i
但是我没有得到想要的结果 p=getPrimes(100) 应该给我一个生成器函数,它将迭代从 2 到 100 的素数,但我得到的结果是 [2,3]。我做错了什么?
【问题讨论】:
-
查看我的回答 stackoverflow.com/questions/2211990/… 以获得通用生成器,该生成器改进了 David Eppstein(/ Alex Martelli ?)的生成器。