Skip to main content
 首页 » 编程设计

Python如何运行这个函数得到100个素数

2025年05月04日14lidabo

我有我要运行的代码:

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))