类型错误:'builtin_function_or_method'对象不可下标 - 查找素数 :/
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].
请不要给我其他的方法,我只是想在这里解决这个问题。
1 个回答
2
Numbers.remove()
是一个方法,但你试图用 [..]
这种方式来调用它:
Numbers.remove[i*v]
把这个改成用括号:
Numbers.remove(i*v)