我有我要运行的代码:
def genPrimes():
primes = [] # primes generated so far
last = 1 # last number tried
while True:
last += 1
for n in primes:
if last % n == 0:
break
else:
primes.append(last)
yield last
n = genPrimes()
我将如何实现它以返回包含 100 个素数的列表?
请您参考如下方法:
这是一个生成器。如果纠正缩进,可以在 for 循环中使用它,或使用 islice 获取前 100 个素数:
from itertools import islice
def genPrimes():
primes = [] # primes generated so far
last = 1 # last number tried
while True:
last += 1
for n in primes:
if last % n == 0:
break
else:
primes.append(last)
yield last
primes = list(islice(genPrimes(), 100))
