2016-10-15 2 views
0
def diameter(Points): 
    '''Given a list of 2d points, returns the pair that's farthest apart.''' 
    diam,pair = max([((p[0]-q[0])**2 + (p[1]-q[1])**2, (p,q)) 
        for p,q in rotatingCalipers(Points)]) 
    return pair 


n=int(input()) 

a=[] 

max=0 

for i in xrange(n): 
    m,n=map(int,raw_input().split()) 
    a.append((m,n)) 
    diameter(a) 

TracebackWarum bekomme ich diesen Fehler "TypeError: 'int' Objekt ist nicht aufrufbar"?

Traceback (most recent call last): 
    File "geocheat1.py", line 56, in <module> 
    diameter(a) 
    File "geocheat1.py", line 43, in diameter 
    for p,q in rotatingCalipers(Points)]) 
TypeError: 'int' object is not callable 
+0

Schreiben Sie die Stack-Trace –

+0

* In der Frage, nicht als Kommentar * –

+3

'max = 0 '->' diam, Paar = max (. ..) ' –

Antwort

1

Von der Traceback ist es klar, als Sie versuchen, int Objekt zu nennen, also rotatingCalipers kann als ganze Zahl im Code deklariert werden.

diesem Beispiel sehen Sie den Fehler verstehen,

In [1]: a = (1,2,3) 
In [2]: list(a) 
Out[1]: [1, 2, 3] 
In [3]: list = 5 
In [4]: list(a) 
--------------------------------------------------------------------------- 
TypeError         Traceback (most recent call last) 
<ipython-input-20-61edcfee5862> in <module>() 
----> 1 list(a) 

TypeError: 'int' object is not callable 
+0

Danke. @RahulKP –

Verwandte Themen