我在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)
答案 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
但是如果你真的想要使用它,我建议你查看主筛。