title: TypeError: unsupported operand type(s) for *: 'method' and 'float'
body: <p>Every time I run it, I get a <code>TypeError</code> telling me that the operand is unsupported for Floats and Methods. I Could anyone give me an idea as to what I'm doing wrong and how to fix this?</p>
  
  <pre><code>from numpy import random,array,dot
  
  class neural():
      def __init__(self):
          self.weights=2*random.random(3).reshape((3,1))-1
      def __sigmoid(self,x):
          return 1/(1+exp(-x))
      def predict(self,inputs):
          print("called predict function successfully")
          #pass inputs through our neural network (our single neuron)
          return dot(input,self.weights)
  
  if __name__=="__main__":
      nn=neural()
      print(nn.weights)
      print(nn.predict(array([3,1,1])))
  </code></pre>
  
  <p>The exception including Traceback is:</p>
  
  <pre><code>     12     nn=neural()
       13     print(nn.weights)
  ---&gt; 14     print(nn.predict(array([3,1,1])))
  
  
  
        8         print("called predict function successfully")
        9         #pass inputs through our neural network (our single neuron)
  ---&gt; 10         return dot(input,self.weights)
  
  TypeError: unsupported operand type(s) for *: 'method' and 'float'
  </code></pre>