找到第n个素数

时间:2017-03-26 11:44:57

标签: python generator primes

我写了一个代码块来查找第n个素数。

例如,如果n = 2,则结果为3,如果n = 3,则为5,依此类推。 以下是我的代码。

def prime_or_not(n):
    for i in range(2, int(n ** 0.5)+1):
        if n % i == 0:
            return False
    else:
        return True

def get_first_n_prime(n):
    while True:
        if prime_or_not(n):
            yield n
        n += 1

def get_nth_prime_number(n, initial_number=2):
    count = 0
    for next_prime in get_first_n_prime(initial_number):
        count += 1
        if count < n:
            continue
        else:
            return next_prime

使用上面的代码,我可以获得预期的结果。 然而,问题是我不确定这是否是使用生成器的pythonic方式(在函数中具有yield)。任何反馈或评论都会非常有用。

0 个答案:

没有答案