在 python 中找到第 n 个素数

finding nth prime in python

我在Python中写了以下代码段来查找第n个数字。我不明白为什么它不起作用。你能不能只给我一个提示或指出到底是哪一点搞砸了而不是一个完整的解决方案。

term = int(input("What prime do you want to find?   "))
prime_list=[2]

def prime_search(term):
    x=3
    while len(prime_list) <= term:
        if all(x % y != 0 for y in range(2,x)):
            prime_list.append(x)
        x += 1
    return prime_list[term-1]

prime_search(term)

你什么都不print。你的功能有效。

term = int(input("What prime do you want to find?   "))
prime_list=[2]

def prime_search(term):
    x=3
    while len(prime_list) <= term:
        if all(x % y != 0 for y in range(2,x)):
            prime_list.append(x)
        x += 1
    return prime_list[term-1]

print(prime_search(term))

输出:

What prime do you want to find?   5
11

不过,如果您真的想使用它,我建议您查看 prime sieve。