我写了一个代码块来查找第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)。任何反馈或评论都会非常有用。