Dus wat ik probeer te doen is bepaalde getallen van bepaalde posities in een array van een gegeven > bereik en zet ze in een vergelijking
yy = arange(4)
xx = arange(5)
Area = ((xx[2] - xx[1])(yy[2] + yy[1])) / 2
Ik probeer het uit te voeren en ik krijg dit..
----> ((xx[2] - xx[1])(yy[2] + yy[1])) / 2
TypeError: 'numpy.int64' object is not callable
Ik krijg een foutmelding.. hoe kan ik bepaalde getallen in een array gebruiken en in een vergelijking plaatsen?
Antwoord 1, autoriteit 100%
Python volgt niet dezelfde regels als geschreven wiskunde. Je moet vermenigvuldiging expliciet aangeven.
Slecht:
(a)(b)
(tenzij a
een functie is)
Goed:
(a) * (b)
Antwoord 2, autoriteit 50%
Deze fout treedt ook op wanneer uw functie dezelfde naam heeft als uw retourwaarde
def samename(a, b):
samename = a*b
return samename
Dit kan een super beginnersfout zijn, ik ben benieuwd hoe vaak dit antwoord nuttig zal zijn.
Antwoord 3, autoriteit 38%
Je mist *
bij het vermenigvuldigen, probeer:
import numpy as np
yy = np.arange(4)
xx = np.arange(5)
Area = ((xx[2] - xx[1])*(yy[2] + yy[1])) / 2
Antwoord 4, autoriteit 12%
Dit kan gebeuren omdat je de naam hebt overschreven van de functie die je probeert aan te roepen.
Bijvoorbeeld:
def x():
print("hello world")
...
x = 10.5
...
x()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in
2 print("hello world")
3 x = 10.5
----> 4 x()
TypeError: 'float' object is not callable