import math
def findprimes(k):
Primes=[]
Numbers=[]
if k>3:
r=findprimes(math.floor(k**(1/2)))
for a in range(k):
Numbers.append(a+1)
if Numbers==[1,2]:
Primes=[2]
if Numbers==[1,2,3]:
Primes=[2,3]
if len(Numbers)>3:
for v in list(r):
for i in range(math.floor(k/v)):
Numbers.remove[i*v]
if len(Numbers)>3:
Primes=Numbers
return Primes
所以我写了很好的旧找到素数因为我将它用于另一个程序,但是当我运行它时它得到了
TypeError: 'builtin_function_or_method' object is not subscriptable error regarding Numbers.remove[i*v].
请不要以其他方式接近它,而是在这里克服它。
答案 0 :(得分:2)
Numbers.remove()
是一种方法,但您尝试使用[..]
对其进行订阅:
Numbers.remove[i*v]
用parenhesis替换它:
Numbers.remove(i*v)