在python中找到第n个素数

时间:2016-12-21 12:15:31

标签: python primes

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

1 个答案:

答案 0 :(得分:1)

你不要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

但是如果你真的想要使用它,我建议你查看主筛。